Heim > Artikel > Backend-Entwicklung > PHP-Bytecode-Cache und integrierter Server
Zend OPcache
1). Ab PHP5.0 gibt es eine integrierte Bytecode-Caching-Funktion namens Zend OPcache. Da es sich bei PHP um eine interpretierte Sprache handelt, 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. Durch das Zwischenspeichern von Abschnittscodes kann vorkompilierter Bytecode zwischengespeichert werden, wodurch die Antwortzeit verkürzt und die Belastung der Systemressourcen verringert wird.
Zend OPcache aktivieren
Standardmäßig ist Zend OPcache nicht aktiviert. 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 php.ini-Datei 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). Starten Sie php -S localhost:4000 -c app/config /php.ini
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. Es werden jedoch nur wenige URL-Rewriting-Regeln unterstützt. php -S localhost:8000 router.php
4). Besuchen Sie die
PHP chinesische WebsiteDas obige ist der detaillierte Inhalt vonPHP-Bytecode-Cache und integrierter Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!