Cannot load php5apache2_4.dll into server

3/3/2017来源:C/C++教程人气:1869

http://blog.csdn.net/wk1063645973/article/details/49557895

一.原因1:

我们在安装好Apache服务器,一开始正常,但安装php配置完成之后,再次启动apache的时候出现了错误 the requested Operation has failed;

Apache服务无法启动,查看Apache错误日志,有类似下面这些内容:

httpd.exe: Syntax error on line 72 of D:/Apache Software Foundation/Apache2.4/conf/httpd.conf: Cannot load D:/php/php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3  

这个问题我花了好久,重装了N次,才找到相应的解决方案,现在让分享给大家;

其实网上很多教程说了一大堆,但是都没有说到点子上,出现这个问题最大的可能性就是,您没有安装VC11运行库,因为现在所有的5.5环境都是基于 vc11的编译脚本下生成的,所以在windows下你得安装相关组件msvcr110.dll,否则你双击php.exe测试的时候会报错,如果出现以下提示,那么恭喜您,问题原因找到了:

二.原因2: 1.php 5.5 开始就不支持windows2003了; 1.开始想了好久,1直没发现错误,后面猛然发现我的apache的版本是2.2,PHP的版本是5.5,PHP5.5不支持apache2.2了,所以只有php5apache2_4.dll,于是又去下载了个PHP5.4,里边包含了php5apache2_2.dll,在httpd.conf中添加:LoadModule php5_module "D:/php-5.4.23-Win32-VC9-x86/php5apache2_2.dll",问题解决;

如果Apache/PHP还无法启动,那最可能是php5_module模块的问题:

1.Apache2.0对应的PHP模块为php5apache2.dll; 2.Apache2.2对应的PHP模块为php5apache2_2.dll; 3.Apache2.4对应的PHP模块为php5apache2_4.dll;

换句话说,根据php5_module模块,可以知道当前版本php支持哪种Apache

所以,Apache/PHP的搭配有以下几种情况:

1.php5.2支持Apache2.0和Apache2.2; 2.php5.3、php5.4同时支持Apache2.2和Apache2.4; 3.php5.5只支持Apache2.4;

除非你自己手动编译php5_module模块,否则只能有以上3种选择;

如果Apache/PHP还是无法启动,检查php配置(php.ini)是否存在,运行php.exe有没有提示错误。根据错误提示,纠正错误;