


Compilation et installation du code source PHP 8.0 et adoption précoce de JIT
Guide fantastique
PHP 8.0 Alpha 1 est sorti le 25 juin 2020. Aujourd'hui, je vais partager avec vous la compilation de code source PHP 8 la plus simplifiée et méthode d'installation pour essayer rapidement la nouvelle fonctionnalité JIT de PHP 8.0.
Système d'exploitation : CentOS Linux version 7.4.1708 (Core)
GCC : 4.8.5 20150623 (Red Hat 4.8.5-28 )
Version PHP : php-8.0.0alpha1
Page de téléchargement
https://downloads.php.net/~pollita/
2. Téléchargez PHP 8.0
wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz
3. Décompressez
tar -zxvf php-8.0.0alpha1.tar.gz
4. Créez un nouveau répertoire d'installation
.Comme il y a plusieurs versions de PHP coexistant sur cette machine, il est nécessaire de créer un répertoire significatif, un nom de répertoire qui permette de connaître la version de PHP sans réfléchir.
mkdir -p /usr/local/php80
5. configurer les options
Il s'agit d'une version simplifiée des options de configuration, avec une description plus riche des options de configuration PHP : https://www.php.net /manual /en/configure.about.php
cd php-8.0.0alpha1 ./configure --prefix=/usr/local/php80/ --enable-debug --enable-fpm --with-config-file-path=/usr/local/php80/etc/ --with-config-file-scandir=/usr/local/php80/etc/php.d/
Si vous rencontrez l'invite configure: error pendant le processus de configuration, faites attention aux détails de l'erreur ci-dessous. Ce qui suit répertorie un résumé des informations clés sur les conditions d'erreur qui se produisent pendant le processus de configuration. Pour les autres conditions d'erreur non répertoriées, les solutions sont les mêmes :
Erreur n° 1 :
configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met: No package 'libxml-2.0' found
Solution :
yum install libxml2-devel.x86_64
Erreur n°2 :
configure: error: Package requirements (sqlite3 > 3.7.4) were not met: No package 'sqlite3' found
Solution :
yum install sqlite-devel.x86_64
Si vous voyez le message d'invite suivant, cela signifie que l'étape de configuration a réussi.
6. Compilation et installation
make
Le temps consommé dans la phase de création est lié à la configuration de la machine Si vous voyez. les informations suivantes indiquent que la phase de création est terminée.
Build complete. Don't forget to run 'make test'.
make test Puisqu'il s'agit d'un des premiers utilisateurs, cette étape est omise pour l'instant.
make install exit 0; -v -d /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.y -o /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.c Installing shared extensions: /usr/local/php80/lib/php/extensions/debugnon-zts-20190128/ Installing PHP CLI binary: /usr/local/php80/bin/ Installing PHP CLI man page: /usr/local/php80/php/man/man1/ Installing PHP FPM binary: /usr/local/php80/sbin/ Installing PHP FPM defconfig: /usr/local/php80/etc/ Installing PHP FPM man page: /usr/local/php80/php/man/man8/ Installing PHP FPM status page: /usr/local/php80/php/php/fpm/ Installing phpdbg binary: /usr/local/php80/bin/ Installing phpdbg man page: /usr/local/php80/php/man/man1/ Installing PHP CGI binary: /usr/local/php80/bin/ Installing PHP CGI man page: /usr/local/php80/php/man/man1/ Installing build environment: /usr/local/php80/lib/php/build/ Installing header files: /usr/local/php80/include/php/ Installing helper programs: /usr/local/php80/bin/ program: phpize program: php-config Installing man pages: /usr/local/php80/php/man/man1/ page: phpize.1 page: php-config.1 /home/fanjiapeng/php-8.0.0alpha1/build/shtool install -c ext/phar/phar.phar /usr/local/php80/bin/phar.phar ln -s -f phar.phar /usr/local/php80/bin/phar Installing PDO headers: /usr/local/php80/include/php/ext/pdo/
7. Vérifiez PHP
/usr/local/php80/bin/php -v PHP 8.0.0alpha1 (cli) (built: Jul 2 2020 15:47:26) ( NTS DEBUG ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
8. Configuration de l'environnement
ln -s /usr/local/php80/bin/php /usr/bin/php80 cp php.ini-development /usr/local/php80/etc/php.ini cp /usr/local/php80/etc/php-fpm.conf.default /usr/local/php80/etc/phpfpm.conf cp /usr/local/php80/etc/php-fpm.d/www.conf.default /usr/local/php80/etc/php-fpm.d/www.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php80-fp chmod +x /etc/init.d/php80-fpm
9. 🎜>
Vérifiez si les éléments de configuration personnalisés prennent effet : --with-config-file-path, --with-config-file-scan-dirphp80 --ini Configuration File (php.ini) Path: /usr/local/php80/etc/ Loaded Configuration File: /usr/local/php80/etc/php.ini Scan for additional .ini files in: /usr/local/php80/etc/php.d/ Additional .ini files parsed: (none)
10, Démarrez FPM
/etc/init.d/php80-fpm start Starting php-fpm done
11. Vérifiez FPM
ps aux | grep php-fpm root 26876 0.0 0.0 52084 2828 ? Ss Jul02 0:14 php-fpm: master process (/usr/local/php80/etc/php-fpm.conf) nobody 26877 0.0 0.0 52084 3648 ? S Jul02 0:00 php-fpm: pool www nobody 26878 0.0 0.0 52084 3624 ? S Jul02 0:00 php-fpm: pool www /etc/init.d/php80-fpm -h Usage: /etc/init.d/php80-fpm {start|stop|forcequit|restart|reload|status|configtest} /etc/init.d/php80-fpm status php-fpm (pid 26876) is running... /etc/init.d/php80-fpm configtest [06-Jul-2020 11:06:42] NOTICE: configuration file /usr/local/php80/etc/php fpm.conf test is successful
// index.php <?php var_dump(PHP_VERSION); var_dump(PHP_VERSION_ID);
12. Essayez les nouvelles fonctionnalités JIT
Configuration de la machine : 8 cœurs 16G, disque SATA, système d'exploitation : CentOS Linux version 7.4.1708 (Core)Zend OPCache (/usr/local/php80/etc/php.ini) est configuré comme suit La plupart des éléments de configuration [opcache] ont des valeurs par défaut. Afin de souligner l'importance de ces éléments de configuration, ils sont. répertorié :
curl localhost string(11) "8.0.0alpha1" int(80000)
13.Résumé
Il s'agit d'une méthode universelle de compilation et d'installation du code source PHP. Les versions PHP peuvent être compilées. La méthode d'installation est similaire. Dans les applications métier réelles, les options de configuration sont beaucoup plus riches et les bibliothèques de classes à installer seront plus complètes. Dans cet article, la nouvelle fonctionnalité JIT de PHP 8 est testée. D'après les résultats des tests de Zend/bench.php, elle est toujours accrocheuse. Concernant l'introduction de PHP 8 JIT, nous vous recommandons "Introduction à l'utilisation de JIT, la nouvelle fonctionnalité de PHP8".
Article recommandé : "PHP8.0"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les différences entre php5 et php8 concernent les performances, la structure du langage, le système de types, la gestion des erreurs, la programmation asynchrone, les fonctions de bibliothèque standard et la sécurité. Introduction détaillée : 1. Amélioration des performances. Par rapport à PHP5, PHP8 présente une énorme amélioration des performances. PHP8 introduit un compilateur JIT, qui peut compiler et optimiser certains codes d'exécution à haute fréquence, améliorant ainsi la vitesse d'exécution. PHP8 introduit de nouvelles structures et fonctions de langage. PHP8 prend en charge les paramètres nommés, permettant aux développeurs de transmettre les noms des paramètres au lieu de l'ordre des paramètres, etc.

Les étapes pour ajouter l'extension MySQL à PHP8 sont : 1. Installez la bibliothèque client MySQL ; 2. Installez les outils de développement pour PHP 8 ; 3. Téléchargez le code source de l'extension MySQL ; 4. Compilez et installez l'extension MySQL ; Extension MySQL ; 6. Redémarrez Juste un serveur Web.

Cet article vous présentera comment installer Apache2.4 et comment configurer php8.0. L'article est accompagné d'images et d'étapes détaillées. Voyons comment installer et configurer Apache2.4+php8.0~.

PHP8 peut utiliser mysqli et PDO pour se connecter à la base de données. Introduction détaillée : 1. Utilisez mysqli pour vous connecter à la base de données en transmettant le nom du serveur de base de données, le nom d'utilisateur, le mot de passe et le nom de la base de données pour vous connecter. Ensuite, utilisez l'attribut `connect_error` pour vérifier si la connexion réussit et affichez un message d'erreur si la connexion échoue. Enfin, fermez la connexion en appelant la méthode `close()` ; 2. Utilisez PDO pour vous connecter à la base de données, et connectez-vous en passant le nom du serveur de base de données, le mot de passe et le nom de la base de données, etc.

Les méthodes du type de données php8 incluent la conversion d'une chaîne en entier, la conversion d'un entier en chaîne, la conversion d'une chaîne en nombre à virgule flottante, la conversion d'un nombre à virgule flottante en chaîne, la conversion d'un tableau en chaîne, la conversion d'une chaîne en tableau, la conversion d'une valeur booléenne en entier, la conversion d'un entier en Détermination et conversion de valeurs booléennes et de types de variables. Introduction détaillée : 1. La conversion d'une chaîne en un entier inclut la fonction intval() et la conversion de type forcée (int) ; 2. La conversion d'un entier en chaîne inclut la fonction strval() et la conversion de type forcée (string) ; une chaîne à un flotteur Points et ainsi de suite.

Cet article vous guidera à travers le JIT dans PHP 8 et expliquera comment JIT participe au processus d'interprétation. J'espère qu'il sera utile à tout le monde !

Les performances améliorées de php8 incluent : 1. Introduction du compilateur JIT ; 2. Optimisation des appels de fonctions ; 3. Amélioration du mécanisme de récupération de place ; 4. Amélioration du système de types ; 6. Optimisation du traitement des chaînes ; . Améliorer le traitement des tableaux ; 8. Introduire un nouveau mécanisme de gestion de la mémoire ; 9. Optimiser la génération de code. Introduction détaillée : 1. L'introduction du compilateur JIT PHP8 introduit le compilateur JIT, qui est une technologie de compilation dynamique qui peut convertir le code PHP en code machine pour une exécution plus efficace ;

Débloquez la technologie JIT de PHP8 : optimisez la vitesse d'exécution de votre code Avec la sortie de PHP8 fin 2020, l'une des nouvelles fonctionnalités les plus intéressantes est l'introduction de la technologie de compilateur JIT (Just-in-Time). La technologie JIT peut améliorer considérablement la vitesse d'exécution du code PHP, en particulier des fragments de code comportant des calculs et des boucles intensifs. Dans cet article, nous explorerons comment utiliser la technologie JIT de PHP8 pour optimiser la vitesse d'exécution du code, tout en fournissant quelques exemples de code spécifiques. 1. Qu'est-ce qu'un compilateur JIT ? J.
