Apache连接PHP后无法启动问题解决思路

yipeiwu_com6年前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版本: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

但是,我下载安装好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 汗啊,只是再多滚一屏就可以更早解决问题了,切记不能懒啊..

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

php传值和传引用的区别点总结

php传值:在函数范围内,改变变量值得大小,都不会影响到函数外边的变量值。 PHP传引用:在函数范围内,对值的任何改变,在函数外部也有所体现,因为传引用传的是内存地址。 传值:和copy...

php中使用Curl、socket、file_get_contents三种方法POST提交数据

抓取远程内容,之前一直都在用file_get_content函数,其实早就知道有curl这么一个好东西的存在,但是看了一眼后感觉使用颇有些复杂,没有file_get_content那么简...

php设计模式之委托模式

委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式是一项基本技巧,许多其他的模式,如状态模式、策略模...

PHP简单检测网址是否能够正常打开的方法

PHP简单检测网址是否能够正常打开的方法

本文实例讲述了PHP简单检测网址是否能够正常打开的方法。分享给大家供大家参考,具体如下: 这是一个检测网址是否能正常打开的PHP代码,通过下面的代码检测一个网址是否能正常访问,如果正常则...

浅析php变量修饰符static的使用

静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子:复制代码 代码如下:function test(){static $a=0;$a++;echo $...