一聚教程网:一个值得你收藏的教程网站

热门教程

64位系统安装php5.4+apache无法启动解决办法

时间:2022-06-30 17:56:15 编辑:袖梨 来源:一聚教程网

apache2.2+php5.3一直工作正常,今天由于需要将php换成5.4,结果apache就不能启动了。检查了好久,从配置文件,到重装一直不能解决。最后查了很多资料终于得到了解决方法,特此贡献出来,希望帮到大家。

首先,查看apache的错误日志,发现一段类似下面的信息:

httpd.exe: Syntax error on line 65 of D:/server/apache/conf/httpd.conf: Cannot load D:/server/php/php5apache2_2.dll into server: %1 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3

这是因为php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同时还要注意是x86版本,还是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。

apache.org下载的Apache都是vc6版本,否则就根据不同文件说明安装不同的运行库。

vc11运行库x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679
vc10运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555
vc10运行库x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632
vc9运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582
vc9运行库x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=15336

如果不清楚你的情况,可以安装全部运行库,再也不用为这个问题担忧了。

如果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有没有提示错误。根据错误提示,纠正错误。


Apache配置问题,或者80端口被占用

使用Apache的配置检查:

C:\>D:\Apache2.2\bin\httpd.exe -t
Syntax OK
根据错误提示,纠正错误。

如果是80端口占用,这个在Windows机器比较常见,经常被IIS抢占。

注销IIS服务:

iisreset /stop
iisreset /disable

sc stop w3svc
sc delete w3svc
如果不是IIS,可以使用命令杀掉强占80端口的进程:

# 查找占用80端口的进程pid
netstat -ano|find ":80"

# 假设该进程pid为2013,查看进程名称:
tasklist /fi "pid eq 2013"

# 杀掉该进程命令
taskkill /f /pid 2013
如果不是上述问题,那可能是系统网络问题,如下警告:

setup_inherited_listeners(), WSASocket failed to open the
inherited socket.

使用命令修复Windows网络:

netsh winsock reset
重启机子,如果问题还无法解决,尝试以下方法:

本地连接 -> 属性 -> 高级 -> Wins标签 -> 去掉启用LMhosts查询前的勾选

如果你不是很清楚的话,也可以把以上这些库都装上。安装好了之后,再启动apache,此时发现已经可以正常启动了。

热门栏目