我最近在CentOS上使用Plesk 9.5遇到了这个问题.
我不能确定它是否是由Plesk的更新引起的.客户不认为最近做了任何更改,但Apache未能从此错误开始.
在对系统进行评估以确保它不是由于违规之后,我做了一些故障排除并确定mod_php已从Apache配置中删除.检查Plesk设置后,盒子上的每个vhost都使用FastCGI和SuExec.
使用FastCGI和SuExec时,不能在php.conf(FastCGI)和.htaccess(SuExec)中更改PHP指令.
客户最初评论了有问题的线路,但这打破了会话对所有内容的支持.我能够解决它的唯一方法是手动将mod_php添加回httpd.conf.
将以下行添加到具有其他LoadModule的部分.确保路径(../modules/)与其中的其余模块匹配.它很可能存在于您的系统上,并且在更新期间只是从配置中删除.
bash# vi /etc/httpd/conf/httpd.conf
LoadModule php5_module ../modules/libphp5.so
bash# apachectl restart
这让我措手不及,我不能肯定是导致这个问题的升级或者这是否是最好的解决方案.我愿意发表评论,但强烈建议不要在/etc/httpd/conf.d/php.conf中注释掉php指令,因为它会破坏内容.