Есть ли способ (например, с php-fpm
) предварительно загрузить скрипт php? Мы используем Zend Framework и Doctrine, и инициализация фреймворков занимает время (даже с opcache и apcu).
Таким образом, вместо инициализации структуры, когда приходит HTTP-запрос, php-fpm
может запустить работника с помощью нашего php-скрипта, который останавливается в определенной точке и сохраняет все в памяти до тех пор, пока не поступит запрос, после чего процесс возобновится с $_GET
, $_POST
и т.д. данные вводятся.
Или, в качестве альтернативы, есть ли способ повторно использовать скрипт php для нескольких запросов?
Это вообще делается другими компаниями, работающими с php, или нам нужно еще больше сосредоточиться на кэшировании php-файлов и других частей нашего приложения?
Функция предварительной загрузки будет частью PHP7.4, которая выйдет в декабре 2019 года (может измениться). На данный момент лучший PHP из коробки — это opcache, который уже приносит большую производительность.
Некоторую информацию о том, как это будет работать, можно найти в RFC.
https://wiki.php.net/rfc/preload
Других решений пока нет …