Назад | Перейти на главную страницу

Настройка apache2-mpm-worker с php5

У меня есть серверный блок ubuntu 14.04.4, и я установил пакеты apache2 и php5, но после включения mpm_worker и перезапуска apache я получил следующую ошибку: «Apache работает с многопоточным MPM, но ваш PHP-модуль не скомпилирован для обеспечения многопоточности. Вам необходимо перекомпилировать PHP. AH00013: Ошибка предварительной настройки "Я погуглил, но не могу решить проблему. Может ли кто-нибудь направить меня в правильном направлении?

Модуль Ubuntu PHP5 будет работать только с однопоточным mpm_prefork. Чтобы использовать модуль Apache с многопоточным mpm_worker, вам нужно будет самостоятельно скомпилировать поточно-безопасную версию PHP (что требует отключения всех функций и модулей PHP, которые не являются потокобезопасными, а их очень много).

Вместо того, чтобы использовать libapache2-mod-php5 вам следует подумать об использовании FastCGI / php-fpm. Есть руководство по шагам, необходимым для установки и настройки. libapache2-mod-fastcgi и php5-fpm Вот: https://askubuntu.com/a/527227 Частью настройки FPM является создание «пулов» процессов php, каждый из которых имеет свои собственные ограничения и файлы INI, поэтому вам нужно быть уверенным, что ограничения в FPM разумны для ожидаемой нагрузки вашего сайта.

Такое расположение позволит вам использовать многопоточный рабочий MPM в Apache, одновременно передавая запросы PHP отдельным процессам PHP, каждый из которых обрабатывает один запрос.