这是我正在使用的 Apache:http://www.apachelounge.com/viewtopic.php?p=24281(httpd-2.4.4-win64-VC11.zip)
我正在使用的 PHP 版本如下:http://windows.php.net/download/(VC11 x64 非线程安全(2013-Jun-20 02:50:14))
我的 php.ini 配置正确,httpd.conf 也是如此,但是在我添加以下几行后让 Apache 加载 PHP:
PHPIniDir "c:/php5"
LoadModule php5_module "c:/php5/php5.dll"
AddType application/x-httpd-php .php .php5
当我尝试启动服务器时出现以下错误:
Syntax error on line 527 of C:/Apache24/conf/httpd.conf: Can't locate API module structure `php5_module' in file C:/php5/php5.dll
我不明白哪里出了问题,我有 64 位版本的 PHP 和 Apache,它们都是使用 VC11 编译的。为什么 Apache 不喜欢 PHP 的 dll 文件?
答案1
您很可能使用了错误的 DLL。通常会有一个 php5apache2_2.dll 或 php5apache2_4.dll,它们表达了 apache 的 SAPI,可用作 apache 模块。
尽管如此,你确实应该避免使用 WAMP 堆栈,原因有很多:Linux 实际上是 Apache 和 PHP 的主要开发和支持操作系统,而且从历史上看,开发人员很少参与解决 Windows 独有的错误和问题。此外,Linux 的许可成本较低,性能开销也较低。
答案2
正确的 dll 位于 php 的线程安全版本中;php-5.5.0-Win32-VC11-x64.zip