按照网上教程在Windows系统上配置了PHP8和Apache2.4。
在Apache2.4/bin目录下使用以下命令安装Apache2.4服务,安装成功。
.\httpd.exe -k install
但是用管理员身份在提示符中输入如下命令,启动出现问题。
无论是
net start Apache2.4
或者
.\httpd.exe -k start
均失败,且没有任何提示信息。
按照网上的说法,加入-w参数来输出错误信息。
.\httpd -w -k start
仍然没有任何错误提示。
直接在Apache2.4/bin下使用命令行:
.\httpd.exe
服务正常运行,并且页面可以服务。
于是问题可以归结为,以服务形式无法启动Apache,但是可以直接以程序形式运行。
找到Windows的日志文件:控制面板>>系统和安全>>Windows管理工具>>查看事件日志>>Windows日志>>应用程序
双击查看报错内容如下:
The Apache service named reported the following error:
>>> httpd.exe: Syntax error on line 559 of D:/PHPWEB/Apache24/conf/httpd.conf: Cannot load php8apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3 .
说明是php拓展的路径问题,经过几番尝试,发现是php.ini中extension_dir设置需要设置绝对路径。
如下:
修改完之后重新以管理员身份打开一个命令行窗口,用下面的命令启动可以成功访问。
net start Apache2.4
或
.\httpd.exe -k start