/php/php5apache2_2.dllintoserver错误,apache无法启动。
码农的苦恼
2020-03-05 09:13:20
今天安装了apache的httpd-2.2.19-win32-x86-no_ssl.msi版本,能够正常启动,输入后,显示It Works!然后又安装了php的php-5.3.6-Win32-VC9-x86.zip版本,直接解压到e盘的。但是在apache的httpd.conf的加上LoadModule php5_module "e:/php/php5apache2_2.dll" 和phpinidir "e:/php"两条语句后,重启apache,apache就无法启动了,查看error.log文件,提示“httpd.exe: Syntax error on line 129 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load E:/php/php5apache2_2.dll into server: \xd3\xc9\xd3\xda\xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xc5\xe4\xd6\xc3\xb2\xbb\xd5\xfd\xc8\xb7\xa3\xac\xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xce\xb4\xc4\xdc\xc6\xf4\xb6\xaf\xa1\xa3\xd6\xd8\xd0\xc2\xb0\xb2\xd7\xb0\xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xbf\xc9\xc4\xdc\xbb\xe1\xbe\xc0\xd5\xfd\xd5\xe2\xb8\xf6\xce\xca\xcc\xe2\xa1\xa3 [Tue Jun 21 16:29:49 2011] [warn] (OS 995)由于线程退出或应用程序请求,已放弃 I/O 操作。 : winnt_accept: Asynchronous AcceptEx failed.”重启电脑后,提示:无效的命令phpinidir(是这个意思,具体提示没了),我删了phpinidir "e:/php"后,重启apache,error.log里仍然提示“无效的命令phpinidir”,我再用开始菜单里apache提供的“test configuration”测试,提示的是最上面的那个错误。可是php5apache2_2.dll确实在e:/php下面呀!谁能救救我。还是我自己来回答一下吧。今天到PHP官网查了一下,才发现,原来是这个问题:If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHPIf you are using PHP with IIS you should use the VC9 versions of PHPVC6 Versions are compiled with the legacy Visual Studio 6 compilerVC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installedDo NOT use VC9 version with apache.org binariesVC9 versions of Apache can be fetched at Apache Lounge. We use their binaries to build the Apache SAPIs.简单解释一下:如果你的PHP与apache1或apache2一起工作,用VC6版本,如果是与IIS一起工作,用VC9版本,具体原因下面也给说明了,自己看一下吧。我就是用了VC9版本,所以出现这个问题。
分享到