最近经常被问到apache无法启动的问题,所以写一篇文章,总结一下windows下经常遇到的 apache/php 无法启动的情况的解决方法。
apache/php 无法启动分两种情况:
1、apache无法启动,没加载php也无法启动
2、apache可以启动,但加载php后无法启动
第一种情况多数是apache配置问题,或者80端口被占用
使用apache的配置检查:
根据错误提示,纠正错误。
如果是80端口占用,这个在windows机器比较常见,经常被iis抢占。
注销iis服务:
sc stop w3svc
sc delete w3svc
如果不是iis,可以使用命令杀掉强占80端口的进程:
# 假设该进程pid为2013,查看进程名称:
tasklist /fi "pid eq 2013"
# 杀掉该进程命令
taskkill /f /pid 2013
如果不是上述问题,那可能是系统网络问题,如下警告:
本地连接 -> 属性 -> 高级 -> wins标签 -> 去掉启用lmhosts查询前的勾选
第二种多数是php编译器的问题:
查看apache错误日志,有类似下面这些内容:
vc11运行库x86/x64版本:
vc10运行库x86版本:
vc10运行库x64版本:
vc9运行库x86版本:
vc9运行库x64版本:
如果不清楚你的情况,可以安装全部运行库,再也不用为这个问题担忧了。
如果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有没有提示错误。根据错误提示,纠正错误。
如对本文有疑问, 点击进行留言回复!!
Windows Server 2008 r2服务器无故自动重启故障的解决方法
Windows CVE-2019-0708 远程桌面代码执行漏洞复现问题
网友评论