欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

启动Apache时提示错误“Cannot load php5apache2

程序员文章站 2022-06-09 08:07:24
...

启动Apache时提示错误“Cannot load php5apache2_2.dll into server” 故障现象: 在命令符方式下启动Apache时提示错误信息“Syntax error on line 122 of D:/Apache/conf/httpd.conf: Cannot load D:/PHP/php5apache2_2.dll into server”,导致Apache无法

启动Apache时提示错误“Cannot load php5apache2_2.dll into server”


故障现象:

  在命令符方式下启动Apache时提示错误信息“Syntax error on line 122 of D:/Apache/conf/httpd.conf: Cannot load D:/PHP/php5apache2_2.dll into server”,导致Apache无法启动。

  Apache的配置文件D:/Apache/conf/httpd.conf第122行内容为:

  LoadModule php5_module D:/php/php5apache2_2.dll
  PHPIniDir "D:/php"

  注意:其中D:/PHP/php5apache2_2.dll是我安装php的相应路径。Apache为2.2.17版本,php为5.3.6版本。

出现错误的原因:

  在网上查到一位朋友遇到类似情况,并提示根据PHP的安装文件名称“php-5.3.6-Win32-VC9-x86.zip”得知该版本的PHP安装文件是由VC编译完成的,因此如需要运行或调用该PHP压缩包中的相关文件,则需要首先安装VC的运行时环境。如果你的机器没有安装有VC运行时环境,则Apache调用该PHP压缩包中的相关文件时会提示如上错误信息。

解决方法:

  在网上搜索“VC2008可再发行组件”或者是“VC2008运行库”,下载安装后即可解决此故障。

出现此错误的其他原因及解决方法:

  原因:由于apache版本的不同,对应的“php5apache2.dll”也不同,如果你加载了错误的“php5apache2.dll”,则会提示该错误信息。

  示例:假如你使用的是Apache2.2版的,则使用语句“LoadModule php5_module modules/php5apache2.dll”来加载PHP,就会出现该错误。这段代码的配置应该修改为“LoadModule php5_module modules/php5apache2_2.dll”或者“LoadModule php5_module "D:/php/php5apache2_2.dll"”。

  总结:

  Apache2.2 对应 php5apache2_2.dll
  Apache2.1 对应 php5apache2.dll
  Apache1 对应 php5apache.dll

  由于上述原因,假设是安装了Apache2.2又安装了PHP5.0那就要出错了,在安装Apache和PHP时应该选择版本相对应的来进行配置安装。

http://bbs.chinaunix.net/thread-3581500-1-1.html


Windows下安装Apache2.2+PHP5.3+MySQL5.5.15

1. Apache 2.2
一路下一步安装即可。

2. PHP 5.3.6
官方目前只提供VC9编译的Thread Safe或Non Thread Safe版本。

作为开发使用,版本选择Thread Safe (window下一般开发环境用此版本即可,如果是以FastCGI来执行PHP时考虑到效率,需要采用None Thread Safe版本).

我习惯下载zip版本,即:php-5.3.6-Win32-VC9-x86.注意如果是在win2003/xp下运行php5.3 以上用vc9 编译的版本的话,有可能会遇到无法运行的情况,即双击php.exe 会弹出“由于应用程序配置不正确,应用程序未能启动”的问题,这是由于该版本的php采用vc9编译,而该win2003系统缺少运行库导致的,可以安装 Microsoft 2008 C++ Runtime (x86) 来保证运行。

问题:常见问题在配置apache里的httpd.conf 时 LoadModule php5_module 缺少 “php5apache2_2.dll” 的情况是因为下错了php版本,在Thread Safe版本下是具有php5apache2_2.dll的,而None Thread Safe版本 没有这个文件一般只用于fastcgi 所以不需要这个文件。

连结apache和php,修改apache的http.conf,新增下面的行:

http://koda.iteye.com/blog/1148942