Windows系统下Apache、PHP无法启动问题总结
最近经常被问到Apache无法启动的问题,所以写一篇文章,总结一下Windows下经常遇到的 Apache/PHP 无法启动的情况的解决方法。
Apache/PHP 无法启动分两种情况:
1、Apache无法启动,没加载php也无法启动
2、Apache可以启动,但加载php后无法启动
第一种情况多数是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查询前的勾选
/******** 无情的分割线 ********* /
作者:没有开花的树
/ ******* 无情的copy *********/
第二种多数是PHP编译器的问题:
查看Apache错误日志,有类似下面这些内容:
httpd.exe: Syntax error on line 63 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/php/php5apache2_4.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有没有提示错误。根据错误提示,纠正错误。
相关文章
win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)
这篇文章主要介绍了win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等),需要的朋友可以参考下2016-06-06Windows server 2016 安装oracle的教程图解
这篇文章主要介绍了Windows server 2016 安装oracle的教程图解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-06-06IIS7.5 检测到在集成的托管管道模式下不适用的 ASP.NET设置
这篇文章主要介绍了IIS7.5 检测到在集成的托管管道模式下不适用的 ASP.NET设置 ,需要的朋友可以参考下2015-01-01由于这台计算机没有终端服务器客户端访问许可证,远程会话被中断
问题:使用[远程桌面连接]到win2003 server 消息:[由于这台计算机没有终端服务器客户端访问许可证,远程会话被中断。请跟服务器管理员联系。] 原因:许可证服务器中可能没有剩余的“每设备 CAL”来颁发。2009-06-06Win2008 r2 iis7/iis7.5系统下HTTP重定向(301重定向)图文方法
这篇文章主要介绍了Win2008 r2 iis7/iis7.5系统下HTTP重定向(301重定向)图文方法,需要的朋友可以参考下2016-07-07最新Windows Server 2012 R2磁盘分区的详细步骤
这篇文章主要介绍了最新Windows Server 2012 R2磁盘分区的详细步骤,通过图文并茂的形式介绍了假如只有一个磁盘的分区方法,需要的朋友可以参考下2022-04-04Windows Server 2012远程默认端口3389的修改方法
本文主要介绍了Windows Server 2012远程默认端口3389的修改方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04
最新评论