Я хотел бы включить предварительную загрузку opcache ( RFC ) на моих производственных серверах с использованием PHP 7.4. Я использую Symfony , но это относится ко всему PHP.
php
preloading
opcache
php-7.4
Emix
источник
источник
Ответы:
Прежде всего вы должны добавить:
на ваш
php.ini
Затем в вашем PHP-скрипте вы должны передать
opcache_compile_file($file);
каждый файл, который вы хотите предварительно загрузить.источник
Согласно сообщению в блоге, это кажется тривиальным. Очевидно, Symfony начиная с 4.4 генерирует сценарий предварительной загрузки, который должен быть установлен в
php.ini
:Я провел несколько тестов в своей локальной среде Docker, и вот как это произошло:
PHP 7.3 без OPcache (текущий)
PHP 7.4 без OPcache
PHP 7.4 с OPcache, без предварительной загрузки (Apache + modphp)
PHP 7.4 с OPcache, без предварительной загрузки (nginx + php fpm)
К сожалению, я не смог включить предварительную загрузку :( Я обнаружил следующие ошибки (как в Apache + Mod, так и в Nginx + FPM):
Эта функция выглядит как WIP . Я собираюсь подтвердить этот ответ, когда смогу использовать эту предварительную загрузку. В целом я очень впечатлен: + 30% производительности, просто благодаря переходу с PHP
7.3
на7.4
.источник