Chciałbym włączyć wstępne ładowanie opcache ( RFC ) na moich serwerach produkcyjnych przy użyciu PHP 7.4. Używam Symfony , ale dotyczy to całego PHP.
php
preloading
opcache
php-7.4
emiks
źródło
źródło
Odpowiedzi:
Przede wszystkim należy dodać:
dla Twojej
php.ini
Następnie w skrypcie PHP należy przekazać
opcache_compile_file($file);
każdy plik, który chcesz wstępnie załadować.źródło
Według postu na blogu wydaje się to trywialne. Najwyraźniej Symfony od 4.4 generuje skrypt wstępnego ładowania, który należy ustawić w
php.ini
:Zrobiłem kilka testów w moim lokalnym środowisku Docker i tak to wyglądało:
PHP 7.3 bez OPcache (bieżący)
PHP 7.4 bez OPcache
PHP 7.4 z OPcache, bez wstępnego ładowania (Apache + modphp)
PHP 7.4 z OPcache, bez wstępnego ładowania (nginx + php fpm)
Niestety nie udało mi się włączyć wstępnego ładowania :( Wystąpiły następujące błędy (zarówno w Apache + Mod, jak i Nginx + FPM):
Ta funkcja wygląda jednak jak WIP . Ponownie sprawdzę poprawność tej odpowiedzi, gdy będę mógł użyć tej funkcji wstępnego ładowania. Ogólnie jestem pod wrażeniem, + 30% wydajności po samej aktualizacji z PHP
7.3
do7.4
.źródło