Maison > Article > développement back-end > Introduction à la mise en cache du bytecode PHP et au serveur intégré
Cet article présente principalement les nouvelles fonctionnalités de PHP, la mise en cache du bytecode et les informations relatives au serveur intégré. Les amis dans le besoin peuvent se référer à
Zend OPcache <.>
1). À partir de PHP5.0, il existe une fonction de mise en cache de bytecode intégrée appelée Zend OPcache. Parce que PHP est un langage interprété, lorsque l'interpréteur PHP exécute un script PHP, il analysera le code du script PHP, générera une série d'opcodes Zend, puis exécutera le bytecode. C'est le cas pour chaque requête HTTP, ce qui consomme beaucoup. des ressources et utilise des bytecodes. La mise en cache du code de section peut mettre en cache le bytecode précompilé, réduisant ainsi le temps de réponse et réduisant la pression sur les ressources système.Activer Zend OPcache
Par défaut, Zend OPcache n'est pas activé. Si vous compilez PHP vous-même, la commande doit inclure les options suivantes lors de son exécution :--enable-opcacheAprès avoir compilé PHP, vous devez également spécifier Zend OPcache dans le fichier php.ini Le chemin de l'extension est le suivant :
zend_extension=/path/to/opcache.soLe chemin du fichier de l'extension Zend OPcache sera affiché immédiatement après la compilation réussie de PHP. Vous pouvez utiliser la commande suivante pour trouver le chemin de cette extension PHP
php-config --extension-dirpuis utiliser le code suivant pour confirmer que l'extension fonctionne correctement
<?php phpinfo();
Configurer Zend OPcache
Configuration recommandéeopcache.validate_timestamps = 1 //在生产环境中设为'0' opcache.revalidate_freq = 0 opcache.memory_comsumption = 64 opcache.interned_strings_buffer = 16 opcache.max_accelerated_files = 4000 opcache.fast_shutdown = 1Oui Visitez le site officiel de PHP pour afficher les paramètres détaillés.
Utiliser Zend OPcache
1). L'environnement de production peut définir opcache.validate_timestamps=0. Dans l'environnement de développement, il doit être défini sur 1Serveur HTTP intégré
1). Démarrez php -S localhost : 4000 -c app/ config/php.ini2). Les fichiers .htaccess ne sont pas pris en charge. signifie que le mode contrôleur n’est pas pris en charge. Le contrôleur frontal est utilisé pour transmettre toutes les requêtes HTTP, qui doivent être implémentées via des fichiers .htaccess ou des règles de réécriture. 3). Vous pouvez utiliser des scripts de routeur pour réaliser les fonctions ci-dessus. Cependant, seul un petit nombre de règles de réécriture d'URL sont prises en charge php -S localhost:8000 router.php4). Déterminez quel serveur est utilisé :<?php if (php_sapi_name() === 'cli-server') { //php内置服务器 } else { // 其他Web服务器 }
Série spécialeAdresse du répertoire de la série spéciale PHP : github.com/xx19941215/…
La série spéciale PHP devrait écrire une vingtaine d'articles, résume principalement les connaissances de base qui sont facilement négligées dans notre développement PHP quotidien et quelques suggestions pratiques sur la standardisation, le déploiement et l'optimisation dans le développement PHP moderne, ainsi que des recherches approfondies sur les caractéristiques du langage Javascript.
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!