在阅读这个答案之后 ,我决定把我的服务器上的httpd的MPM更改为worker。 但是在编辑/etc/sysconfig/httpd ,我注意到这个评论:
# The default processing model (MPM) is the process-based # 'prefork' model. A thread-based model, 'worker', is also # available, but does not work with some modules (such as PHP). # The service must be stopped before changing this variable. # #HTTPD=/usr/sbin/httpd.worker
我可能会解释错误,但这不是告诉我,工人将不能使用mod_php吗? 因为那是我目前使用的。
服务器运行CentOS 6.4和Apache 2.2。
不 – 你不能 – 你会有神秘的错误和崩溃,因为PHP不是线程安全的。
但是,您可以将worker-mpm用于静态文件,而将php_fcgi或反向代理用于另一个仅用于PHP的httpd实例。
我使用后者 – 它允许我运行多个站点 – 所有这些站点都具有不同的权限并在CentOS 6上进行configuration。
据我所知,mod_php不是线程安全的。