首页 > 网站 > Apache > 正文

apache无法启动_解决Apache/PHP无法启动的问题

2024-08-27 18:23:53
字体:
来源:转载
供稿:网友
  最近经常被问到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查询前的勾选
  第二种多数是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有没有提示错误。根据错误提示,纠正错误。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表