En tant que l'un des langages de développement Web les plus utilisés au monde, PHP est largement utilisé dans les applications au niveau de l'entreprise, le commerce électronique à haut trafic et le développement de la plate-forme sociale. Depuis la publication de PHP7 en 2015, il a réalisé des améliorations significatives des améliorations des performances, des déclarations de type solides et une gestion des exceptions. Cet article explorera les principes sous-jacents de PHP7 en profondeur pour aider les lecteurs à comprendre le processus de construction du noyau PHP et la technologie de débogage.
Le noyau PHP est écrit en langage C et doit être compilé à l'aide d'un compilateur C. Dans l'environnement Linux, les commandes suivantes peuvent télécharger le code source et compiler PHP:
$ wget https://www.php.net/distributions/php-7.4.22.tar.gz
$ tar xvfz php-7.4.22.tar.gz
$ cd php-7.4.22
$ ./configure
$ make
$ make test
$ sudo make install
Le processus ci-dessus complète le téléchargement du code source, la décompression, la génération de configuration Makefile, la compilation du code, l'exécution de tests unitaires et enfin installer PHP sur le système.
Lorsque le développement secondaire du noyau PHP, il doit être recompilé après avoir modifié le code source. Activer d'abord la configuration de débogage:
$ ./configure --enable-debug
Après avoir activé le mode de débogage, localisez et modifiez le code source cible dans le répertoire SRC, enregistrez et exécutez la fabrication pour recompiler pour générer de la version de débogage PHP.
GDB est un puissant outil de débogage sous Linux et prend en charge les programmes C / C ++. Lors de la débogage du noyau PHP, vous pouvez utiliser:
$ gdb /usr/bin/php
Après être entré GDB, démarrez le script PHP via la commande RUN et combinez des points d'arrêt, une visualisation variable et d'autres fonctions pour atteindre un débogage approfondi. Une fois le débogage terminé, entrez et sortez.
Zend Debugger est une extension de débogage officielle pour PHP, qui prend en charge le code source et le débogage de bytecode, et est compatible avec des IDE tels que Zend Studio et PHPStorm. La méthode de configuration est la suivante:
zend_extension=/path/to/debug/zend_debugger.so
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
Téléchargez le fichier zend_debugger.so et placez le chemin approprié, remplacez la configuration zend_extension dans php.ini, ajoutez la configuration de débogage correspondante pour démarrer le débogage à distance du côté IDE.
PHP7 introduit la technologie JIT (compilation instantanée) pour convertir dynamiquement le code PHP en code machine et le mettre en cache en mémoire, améliorant considérablement l'efficacité opérationnelle et réduisant les frais généraux d'interprétation.
Opcache est un cache bytecode intégré pour PHP. Il cache les résultats de la compilation pour éviter l'analyse en double et améliorer les performances. L'exemple de configuration d'ouverture est le suivant:
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
Ajoutez la configuration ci-dessus à php.ini pour l'activer, en réduisant considérablement le temps de traitement de la demande.
L'utilisation rationnelle de nouvelles fonctionnalités de PHP7, telles que les déclarations de type, les opérateurs de fusion vides, etc., peut améliorer l'efficacité de l'exécution du code. Dans le même temps, la combinaison de solutions de mise en cache telles que Memcached et Redis pour réduire l'accès à la base de données et optimiser davantage les performances.
Cet article explique systématiquement les méthodes de construction, de débogage et d'optimisation des performances PHP7. La maîtrise de ces technologies de base aidera les développeurs à obtenir un développement efficace, un débogage profond et un fonctionnement stable des programmes PHP et améliorer les performances globales des applications.