我用的软件分别是:
httpd-2.4.3-win32.zip
php-5.4.9-Win32-VC9-x86.zip
php5apache2_4.dll-php-5.4-win32.zip中的PHP 5.4.9文件夹内的php5apache2_4.dll
配置参考http://deloz.net/1000000568.html这篇文章
还装了Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)补丁
问题是:启动Apache时,报Cannot load php5apache2_4.dll into server错
把httpd.conf文件中的LoadModule php5_module "d:/php/ext/php5apache2_4.dll"
加上#,Apache就能启动了,但php不能运行。

解决方案 »

  1.   

    d:/php/ext/php5apache2_4.dll
    真实存在吗?这个 php5apache2_4.dll-php-5.4-win32.zip 是什么意思?
      

  2.   

    d:/php/ext/php5apache2_4.dll是真实存在的,php5apache2_4.dll-php-5.4-win32.zip是因为php现在不提供VC9版本的了,针对apache的一个dll,大概是这个意思。
      

  3.   

    刚才说错了php现在不提供VC6版本的了,版主帮我想想办法啊!
      

  4.   

    你应该到这里 http://windows.php.net/download/#php-5.4在这个栏目下
    VC9 x86 Thread Safe (2012-Nov-21 21:22:38)
    Zip [22.32MB] 下载这个
    sha1: 84aa190dc73605c22045e8e2f2281908478076e4
      

  5.   

    我就是在那个地方下载的啊,Zip [22.32MB]下载的文件名就是php-5.4.9-Win32-VC9-x86.zip。
      

  6.   

    前面 LoadFile php5ts.dll 了么?
      

  7.   

    没有,怎么Load的,我是按照上面的描述中的那个文章配置的,也不知道那个文章是不是正确的。
      

  8.   

    ###################### PHP内容 开始 #############################
    #设置PHPRC变量,以提供给PH5查找配置文件PHP.ini,就无需在跑到%SystemRoot%下去找php.ini了
    SetEnv PHPRC "/PHP5/"
    PHPINIDir "/PHP5/php.ini"#加载php5ts.dll,这无论是apache还是IIS都必须以来的链接库
    LoadFile "/PHP5/php5ts.dll"#加载php5的apache模块
    LoadModule php5_module "/PHP5/php5apache2_4.dll"#为了兼容添加php3和php4的类型
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php .php4
    ###################### PHP内容 结束 #############################
      

  9.   

    LoadFile "d:/php/php5ts.dll"(加了这句,重启了电脑还是起不来Apache)
    LoadModule php5_module "d:/php/ext/php5apache2_4.dll"
    PHPIniDir "d:/php/"
      

  10.   

    我还发现了一种写法起不来Apache
    LoadFile "d:/php/php5ts.dll"
    #LoadModule php5_module "d:/php/ext/php5apache2_4.dll"
    #PHPIniDir "d:/php/"
      

  11.   

    我记忆中只用php自己的apache dll就行了,注意是ts版本就行
    查一下你的php.ini有没有错误,先把不必要的dll先注释掉,逐个开启测试
    (可以在DOS窗直接运行php,会提示你ini里面那些项目过时了)
    另外有些模块dll是有关联的,mb好像要放在前面都快忘光了,我基本就保存配置文件,重装也很方便,反正都是绿色的
      

  12.   

    好像是php5.3之前的版本都可以用php自己的apache dll,这之后官网就没有了VC6版本,用php自己的就不行了。现在测试的结构是Apache中的LoadFile命令无效,dll不管放在哪个盘的文件夹,都读取不到。
      

  13.   

    php-5.4.9-Win32-VC9-x86.zip 么有提供 php5apache2_4.dll
    只提供了 php5apache2_2.dll 和 php5apache2_3.dll搜索了一下 php5apache2_4.dll
    感觉你是按这个来做的 http://www.cnblogs.com/cxybjfu/archive/2012/10/09/2716880.html
    使用的是非官方的 apache 和 php5apache2_4.dll
    自然是后果自负文章中的表述有不少错误,说什么 使用VC9编译的PHP的同时,必须使用VC9编译的Apache我就是用 VC6 的 apache 2.2 加 VC9 的php5.3、php5.4
      

  14.   

    终于apache2.4起来了,下载Microsoft Visual C++ 2008 Redistributable Package (x86)这个文件,地址http://www.microsoft.com/en-us/download/details.aspx?id=29。估计我是下错成Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)这个了。谢谢大家的帮助!
      

  15.   

    官方下载的PHP怎么都是压缩包?没有安装的呀?我也遇到这位仁兄的问题,PHP里只有php5apache2_4.dll,没有php5apache2_2.dll。怎么也关联不起来。
      

  16.   

    先手动运行php目录下的php.exe文件,新版本由于需要vc的支持,如果没有安装会提示msvcr110.dll找不到,安装vc即可解决
    安装vc11相关组件,请到 http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 下载
    没有报错后再去配置http.conf文件,加载php5apache2_4.dll(这个代表的是2.4版本的appache),如果是2.2的apache去加载2.4的支持文件,就会报错Cannot load php5apache2_4.dll into server
    LoadModule php5_module "d:/php/php5apache2_4.dll"
    PHPIniDir "d:/php/"
    我是遇到这个问题,用了2.2的apache去加载2.4的文件,升级了apache到2.4后,问题解决
    http://www.apachelounge.com/download/  apache2.4 版本下载地址