Mise en cache du bytecode PHP et serveur intégré en détail

小云云
Libérer: 2023-03-19 17:14:01
original
1895 Les gens l'ont consulté

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 démarré. Si vous compilez PHP vous-même, la commande doit inclure les options suivantes lors de son exécution :

--enable-opcache
Copier après la connexion

Après avoir compilé PHP, vous devez également spécifier le chemin d'extension de Zend OPcache dans le fichier php.ini, comme indiqué ci-dessous :

zend_extension=/path/to/opcache.so
Copier après la connexion

Une fois PHP compilé avec succès, le chemin du fichier de l'extension Zend OPcache sera affiché immédiatement. Vous pouvez utiliser la commande suivante pour trouver le chemin de cette extension PHP

php-config --extension-dir
Copier après la connexion

Utilisez ensuite le code suivant pour confirmer que l'extension fonctionne normalement

<?php
phpinfo();
Copier après la connexion

Configurer Zend OPcache

Configuration recommandée

opcache.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 = 1
Copier après la connexion

Vous pouvez visiter le site officiel de PHP pour afficher les paramètres détaillés.

Utilisez 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 1

Serveur HTTP intégré

1). Démarrez php -S localhost:4000 -c app/config/php.ini

2 ). 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.php

4). Déterminez quel serveur est utilisé :

<?php
if (php_sapi_name() === 'cli-server') {
 //php内置服务器
} else {
 // 其他Web服务器
}
Copier après la connexion
Série spéciale

Adresse du répertoire de la série de sujets PHP : github.com/xx19941215/…

La série de sujets PHP devrait comprendre une vingtaine d'articles, résumant principalement les connaissances de base qui sont facilement négligées dans notre développement PHP quotidien et le normes et réglementations du développement PHP moderne. Quelques suggestions pratiques de déploiement et d'optimisation, ainsi qu'une recherche approfondie sur les caractéristiques du langage Javascript.

Recommandations associées :

À propos de l'utilisation du serveur intégré de PHP

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal