我有一个 ubuntu 14.04.4 服务器盒,我已经安装了 apache2 和 php5 包,但是在启用 mpm_worker 并重新启动 apache 后,我收到以下错误“Apache 正在运行线程 MPM,但您的 PHP 模块未编译为线程安全的。您需要重新编译 PHP。AH00013:预配置失败”我用谷歌搜索了这个,但我无法解决这个问题。谁能带我到正确的方向?
我有一个 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 的限制对于您网站的预期负载是合理的。这种安排将允许您在 Apache 中使用多线程工作者 MPM,同时将 PHP 请求交给处理单个请求的各个 PHP 进程。