您的位置:首页 > 运维架构 > Apache

在win2003下apache2.2无法加载php5apache2_4.dll

2015-09-22 10:16 751 查看
 昨天在一台win2003的服务器上配置apache和PHP,
  我在apache的配置文件httpd.conf里添加
  LoadModule php5_module "D:/php-5.4.23-Win32-VC9-x86/php5apache2_4.dll"

  结果apache服务器无法启动,在事件查看器中查看记录,发现错误提示:

  

事件类型: 错误

事件来源: Apache Service

事件种类: 无

事件 ID: 3299

日期: 2014-2-11

事件: 22:52:16

用户: N/A

计算机: LY-CLOUDHOST

描述:

The Apache service named reported the following error:

>>> httpd.exe: Syntax error on line 130 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load D:/php-5.4.23-Win32-VC9-x86/php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8 .

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

Cannot load php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8

一开始想了好久,一直没发现错误,后面猛然发现我的apache的版本是2.2,PHP的版本是5.5,PHP5.5不支持apache2.2了,所以只有php5apache2_4.dll,于是又去下载了个PHP5.4,里边包含了php5apache2_2.dll,在httpd.conf中添加:LoadModule
php5_module "D:/php-5.4.23-Win32-VC9-x86/php5apache2_2.dll",问题解决。

摘要 PHP5.5.0+Apache
Httpd 2.4.3,完成配置文件的修改后,启动Apache服务器,报Cannot load php5apache2_4.dll into server错误,记录其中的原因以及解决方法

下载了最新的PHP+Apache Httpd Server,版本号分别为5.5.0和2.4.3,完成配置修改后,启动Apache服务器,上报“Cannot load php5apache2_4.dll into server”错误。

1、以为是配置文件写错,仔细检查后,确实没有看出什么问题。

2、以为是采用了不匹配的线程安全版本,仔细检查后,PHP和Apache均是线程安全的版本。

3、排除法,删除httpd.conf中的这句话,Apache启动成功。Windows上的PHP和Apache采用dll动态链接库的方式配合,一种CGI方式,感觉问题出在dll上。

4、查找网上的一些帖子,各种分析较多,搞得我思路混乱。但我坚信问题一定不会是PHP和Apache两个组织没有相互测试配套关系,肯定是自己哪里理解错了,决定登录PHP官网,windows.php.net,找到下面一段话,人家说的很清楚:

查看系统的Visual Studio Distribute版本是2008,对应VC9,但我使用的是Visual Studio 2012编译的PHP版本(VC11),动态连接于Apache中的dll,可能就会出现问题。重新下载了VC9版本的PHP,Apache Httpd Server启动成功,问题解决!

下载开源软件时,要特别注意编译环境的版本,仔细阅读软件的版本ReleaseNotes,往往能解决绝大多数问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: