1). Ab PHP5.0 gibt es eine integrierte Bytecode-Caching-Funktion namens Zend OPcache. Da PHP eine interpretierte Sprache ist, analysiert der PHP-Interpreter beim Ausführen eines PHP-Skripts den PHP-Skriptcode, generiert eine Reihe von Zend-Opcodes und führt dann den Bytecode aus. Dies ist bei jeder HTTP-Anfrage der Fall, was viel verbraucht von Ressourcen und verwendet Bytecodes, um vorkompilierten Bytecode zwischenzuspeichern, was die Reaktionszeit verkürzt und den Druck auf die Systemressourcen verringert.
Zend OPcache aktivieren
Standardmäßig wird Zend OPcache nicht gestartet. Wenn Sie PHP selbst kompilieren, muss der Befehl bei der Ausführung die folgenden Optionen enthalten:
--enable-opcache
Nach dem Kompilieren von PHP müssen Sie auch den Erweiterungspfad von Zend OPcache in der Datei php.ini angeben, wie unten gezeigt:
zend_extension=/path/to/opcache.so
Nachdem PHP erfolgreich kompiliert wurde, wird der Dateipfad der Zend OPcache-Erweiterung sofort angezeigt. Sie können den folgenden Befehl verwenden, um den Pfad dieser PHP-Erweiterung zu finden
php-config --extension-dir
. Verwenden Sie dann den folgenden Code, um zu bestätigen, dass die Erweiterung normal ausgeführt wird
<?php phpinfo();
Zend OPcache konfigurieren
Empfohlene Konfiguration
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
Sie können die offizielle PHP-Website besuchen, um detaillierte Einstellungen anzuzeigen.
Zend OPcache verwenden
1). Die Produktionsumgebung kann opcache.validate_timestamps=0 setzen. In der Entwicklungsumgebung muss es auf 1 eingestellt werden
Eingebauter HTTP-Server
1). >
2 ). .htaccess-Dateien werden nicht unterstützt. bedeutet, dass der Controller-Modus nicht unterstützt wird. Der Front-End-Controller wird zum Weiterleiten aller HTTP-Anfragen verwendet, die über .htaccess-Dateien oder Umschreiberegeln implementiert werden müssen. 3). Sie können Router-Skripte verwenden, um die oben genannten Funktionen zu erreichen. Allerdings werden nur wenige URL-Rewriting-Regeln unterstützt. php -S localhost:8000 router.php4).Adresse des Verzeichnisses der PHP-Themenreihe: github.com/xx19941215/…
<?php if (php_sapi_name() === 'cli-server') { //php内置服务器 } else { // 其他Web服务器 }
Über die Verwendung des integrierten PHP-Servers
Das obige ist der detaillierte Inhalt vonPHP-Bytecode-Caching und integrierter Server im Detail. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!