我是 apache 和 php 的新手。我把Apache服务器安装在C盘,
C:\Apache24
。然后我使用此命令在 CMD 中安装了服务
httpd -k install
。然后我去Windows服务。我可以启动和停止Apache2.4,它工作正常。我想运行 php 项目。现在我在C:\php7
安装了php。
PHP版本:
PHP 7.3.0RC3 (cli) (built: Oct 10 2018 01:23:45) ( NTS MSVC15 (Visual C++ 2017) x64 ),
Copyright (c) 1997-2018, The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
然后我打开 Apache
httpd.conf
文件 (C:/Apache24/conf/httpd.conf)。
PHPIniDir "C:/php7"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/php7/php7apache2_4.dll" [this is line no 550]
我在 httpd.conf 中添加了以上行。然后使用此命令
httpd -k start
或其他命令启动 Apache,我可以在 Windows Services 中启动它。
因此,我收到此错误。为什么我不知道。
C:\Apache24\bin>httpd -k start
httpd: Syntax error on line 550 of C:/Apache24/conf/httpd.conf: Cannot load c:/php7/php7apache2.dll into server: The specified module could not be found.
我自己想出来了。我安装了线程安全版本。 请不要安装非线程安全版本。
线程安全版本为 VC15 x64 Thread Safe (2018-Oct-10 19:19:47)
我在 Apache httpd.conf 文件中添加了这一行。
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
LoadModule php7_module "c:/php730rc3/php7apache2_4.dll"
PHPIniDir "c:/php730rc3"
我也遇到这个错误,确认/modules/中存在这个模块后,我检查了httpd.conf,发现SRVROOT是错误的。
Define SRVROOT "D:/Project/Apache24/bin" //wrong
Define SRVROOT "D:/Project/Apache24" //correct
您必须像管理员一样具有访问cmd的权限。我认为您还更改了 httpd.conf 并且您已使用 C:/localhost 修改了 ${SRVROOT}.. (您必须在 C 中有文件夹 localhost)。并安装线程安全版本
如果您使用 32 位版本的 PHP,请确保您也使用 32 位版本的 Apache。