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


    最近经常被问到Apache无法启动的情况,所以写一篇文章,总结一下Windows下经常遇到的 Apache/PHP 无法启动的情况的解决方法。

    Apache/PHP 无法启动分两种情况:

    1.、Apache无法启动,没加载php也无法启动

    2、Apache可以启动,但加载php后无法启动

    第一种情况多数是Apache配置问题,或者80端口被占用

    使用Apache的配置检查:

    C:>D:Apache2.2inhttpd.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
    
    /********  无情的分割线 ********* /
      作者:没有开花的树
      博客:blog.csdn.net/mycwq
    / *******   无情的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 xb2xbbxcaxc7xd3xd0xd0xa7xb5xc4 Win32 xd3xa6xd3xc3xb3xccxd0xf2xa1xa3

    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种选择。

    参考:http://blog.csdn.net/mycwq/article/details/17280003

  • 相关阅读:
    java基础学习总结——哈希编码
    java基础学习总结——static关键字
    java基础学习总结——方法的重载(overload)
    java基础学习总结——流
    java基础学习总结——线程(二)
    java基础学习总结——线程(一)
    阻塞队列---ArrayBlockingQueue,LinkedBlockingQueue,DelayQueue源码分析
    hashCode 一致性hash 算法
    byte以及UTF-8的转码规则
    vue cli 解决跨域 线上 nginx 反向代理配置
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/4244080.html
Copyright © 2020-2023  润新知