PHP-Bytecode-Caching und integrierter Server im Detail

小云云
Freigeben: 2023-03-19 17:14:01
Original
1819 Leute haben es durchsucht

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 Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

. Verwenden Sie dann den folgenden Code, um zu bestätigen, dass die Erweiterung normal ausgeführt wird

<?php
phpinfo();
Nach dem Login kopieren

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
Nach dem Login kopieren

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

4).

Adresse des Verzeichnisses der PHP-Themenreihe: github.com/xx19941215/…

<?php
if (php_sapi_name() === 'cli-server') {
 //php内置服务器
} else {
 // 其他Web服务器
}
Nach dem Login kopieren
Die PHP-Themenreihe wird voraussichtlich etwa zwanzig Artikel umfassen und hauptsächlich das Grundwissen zusammenfassen, das in unserer täglichen PHP-Entwicklung leicht übersehen wird Standards und Vorschriften in der modernen PHP-Entwicklung. Einige praktische Vorschläge für die Bereitstellung und Optimierung sowie eingehende Untersuchungen zu den Eigenschaften der Javascript-Sprache.

Verwandte Empfehlungen:

Ü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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!