php5apache2_4.dll未找到错误

13

我正在尝试在Apache上集成php。以下是我正在使用的版本

Apache 2.4 (httpd-2.0.64-win32-x86-openssl-0.9.8o)
PHP (php-5.5.0-Win32-VC11-x64.zip)

我正在一台64位的windows 7机器上进行设置。我已按照此页面中的说明进行了配置,但即使我已经将dll文件放置在指定的文件夹中,仍然遇到以下错误:

无法将C:/php/php5apache2_4.dll加载到服务器中:找不到指定的模块。

httpd.conf中的行条目如下:

LoadModule php5_module "C:/php/php5apache2_4.dll"

有任何兼容性问题的版本吗?


1
是的,这里存在版本不兼容的问题。您正在尝试使用古老的Apache 2.0与适用于Apache 2.4的PHP副本。 - user149341
1
我尝试使用Apache 2.4 64位和PHP 5.5,仍然出现相同的错误。 - rvini
3个回答

26
唯一让我在Windows(7和8)上通过Apache(2.4)使用PHP(5.5)的方法是,确保Apache和PHP都是32位(x86)或64位(x64),并且Apache和PHP都是Thread Safe(TS)。 对于我(或其他人),使用非线程安全(NTS)无法正常工作,而线程安全版本附带了所需的Apache模块“php5apache2_4.dll”。 一旦我的位深度和线程安全匹配,Apache 2.4和PHP 5.5就可以在我的Windows系统中良好地协同工作。
这两个产品还必须使用相同版本的Microsoft Visual Studio / C ++的主要版本进行编译,例如VC6(遗留VC ++编译器),VC9 = Studio 2008或VC11 = Studio 2012。 对于上述Apache版本,通常只使用VC9或VC11。 链接: 在此处获取Windows Apache二进制文件: http://www.apachelounge.com/download/ 在此处获取Windows PHP二进制文件: http://windows.php.net/download/ 为用于准备Windows的Apache和PHP的特定Visual Studio版本安装Visual C ++ Redistributable编译器运行时库:
2012年: http://www.microsoft.com/en-us/download/details.aspx?id=30679 2008年: http://www.microsoft.com/en-us/download/details.aspx?id=5582

2
安装了可再分发组件后,问题得到了解决。 - caiosm1005
这里对我来说最重要的提示是非线程安全版本不带有dll。知道这一点非常有帮助。 - danielson317

2

0

Apache win 32 with 64 bits有问题,你需要使用Apache64


不,你可以在64位上运行32位。 - Cole Tobin
我认为他的意思是,如果你的Apache是32位的,那么你不能在其上运行64位的PHP DLL。 - endo64

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接