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端口的进程id netstat -ano|find ":80" # 假设该进程id为2013,查看进程名称: tasklist /fi "pid eq 2013" # 杀掉该进程命令 taskkill /f /pid 2013
第二种多数是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/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
推荐教程:PHP视频教程
以上是Php无法启动的详细内容。更多信息请关注PHP中文网其他相关文章!