在Windows 10上安装PHP7和Apache2.4-php7apache2_4.dll错误


Installing PHP7 and Apache2.4 - php7apache2_4.dll error on Windows 10

刚上了Windows 10,在配置了php.ini和http.conf后,我进入命令行httpd.exe,得到了以下错误消息:

httpd.exe: Syntax error on line 530 of C:/Apache/conf/httpd.conf: Cannot load C:/php/php7apache2_4.dll into server: The specified module could not be found.

我知道这个文件在那个文件夹里。我已经安装了64位版本的PHP和Apache,我不知道发生了什么

检查您是否安装了线程安全版本的PHP。非线程安全版本将导致此错误。

您可以在这里下载线程安全版本的PHP

下载PHP时,您应该选择ThreadSafe包,Apache不支持非ThreadSafe。。。

正如其他人所说,NON线程安全(nts)不支持apache,您必须安装线程安全版本

您使用哪种VC编译版本的Apache?在php.net上,他们建议使用apachelunge.com中的apache服务器和线程安全的php文件
此外,请确保您已安装C++Redistributable Visual Studio 2015。
如果它仍然失败并出现该错误,请确保启动进程的用户可以访问文件系统。

我通过卸载我以前版本的wampserver,然后安装最新版本(3.2.0),更接近php7.4.9目标,克服了这个错误。

由于我之前使用的是php 7.2和早期版本的wampserver(记不清是哪一个了),所以上面的技巧都不适用于我。我仍然收到这个主题标题的错误现在工作正常

提醒:要将php的外部版本集成到wamp中,请将文件夹php7.4.9中的php.ini-development重命名为phpForApache.ini

我不确定这是否是同样的问题,但我遇到了一个问题,即当我试图将php模块添加到Apache服务器(httpd.conf)时,Apache httpd服务无法启动。当我查看事件查看器时,我发现了一个应用程序错误事件,表明服务意外终止,它表明问题发生在Apache24''bin''libapr-1.dll中。

问题出在我在httpd.conf文件末尾添加的LoadModule语句上。这是我最初拥有的:

LoadModule php7_模块;C: ''PHP7''php7apache2_dll";

这是我把它改成的:

LoadModule php7_模块C:''php7''php7apache2_4.dll

瞧,apache服务启动了,我可以执行我添加到根文档目录中的phpinfo.php示例脚本。(顺便说一句,向前或向后斜线都有效。)

不同的是我去掉了引号。这些引号之所以在那里,是因为我刚刚从一个网页上复制粘贴了如何安装PHP。

我也遇到了类似的问题,当我查看apache24错误日志时,它说了一些关于PHP的信息警告:"vcruntime140.dll"14.0与这个链接到未知中14.16的PHP构建不兼容