Apache连接PHP后无法启动问题解决思路
问题:apache之前正常,连接配置完php后无法启动,用apache test configration测试后报错形式为:
cannot load d:/php/php5apache2_2.dll into server(或者php5apache2_4.dll)
我个人的解决轨迹是这样的:
1 先查看一下配置时的路径,拼写是否有误,没找出错
2 之前用apache一直没有问题,所以觉得是php下载的版本不对,我一开始下载的是5.6,里边的模块文件是php5apache2_4.dll,所以认为php也没有问题,百度一搜发现有可能是缺少正确的vc库版本
3 然后,我查看了一下php包(最好上官网下载)的文件,文件名中有提示是vc9(好像是,这个包我后来也删掉了,不过这个不重要),然后搜到下边这段:
php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同时还要注意是x86版本,还是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。
apache.org下载的apache都是vc6版本,否则就根据不同文件说明安装不同的运行库。
vc11运行库x86/x64版本:
vc10运行库x86版本:
vc10运行库x64版本:
vc9运行库x86版本:
vc9运行库x64版本:
但是,我下载安装好vc库之后,以为可以但,但依旧报同样的错...
4 我把下载的vc库删掉,又换了个下载地址试了下,依旧不行,又下载vc10依旧也不行,妈的!
5 那么,肯定不是vc库的问题,也不是apache的问题,那么还是php的问题。于是,我上官网又下载了一个低版本的php5.3.5,解压后发现这个版本的模块文件变成了php5apache2_2.dll,而5.6版本的是php5apache2_4.dll,接着又下载了一个php版本,发现里面没有模块文件,坑!
6 所以我判断可能是这个文件的问题,于是换5.3.5这个版本,尼马,成功了!!!
7 喜悦之余查看之前打开的一个网页,往下一滚,居然刚好有解决这个问题的描述:
如果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
8 汗啊,只是再多滚一屏就可以更早解决问题了,切记不能懒啊..
以上所述就是本文的全部内容了,希望大家能够喜欢。