我希望,这是我的问题的正确地方。首先,我需要说的是,我基本上是 Apache Web 服务器的初学者。我已经有一些使用 Apache 的经验。但这些已经是 15 年甚至更久以前的事了。我正在尝试使用 Apache 2.4 设置 Windows 2022 服务器。我想在此服务器上使用 PHP。我实际遇到的问题是,Apache Web 服务器始终返回错误 500:
内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。
请联系服务器管理员[电子邮件保护]告知他们此错误发生的时间,以及您在发生此错误之前执行的操作。
有关此错误的更多信息可以在服务器错误日志中找到。
即使我尝试打开一个没有任何 PHP 脚本的简单 HTML 文件,也总是会返回此消息。PHP 文件也不起作用。我尝试打开基本测试 phpinfo.php,但返回的错误完全相同。
在 Apache 的错误日志文件中,我每次请求时都会收到以下两行内容:
[2023 年 2 月 6 日星期一 09:15:37.962313] [fcgid:warn] [pid 5820:tid 1156](OS 109)管道已结束。:[客户端 2.200.184.251:64710] mod_fcgid:获取重叠结果错误
[2023 年 2 月 6 日星期一 09:15:37.962313] [core:error] [pid 5820:tid 1156] [client 2.200.184.251:64710] 标题前的脚本输出结束:test.html
疯狂的是,同样的配置在我的个人电脑(Windows 11)上也能正常工作。我已将 Apache 和 PHP 文件夹复制到服务器,安装了 Apache 服务,但在服务器上,完全相同的配置不起作用,而在我的个人电脑上却能正常工作。
这是 fcgid 部分httpd.conf
:
<IfModule fcgid_module>
FcgidMaxRequestLen 10000000
FcgidInitialEnv PHPRC "D:/_Websever/PHP/v7.4"
<FilesMatch \.(php|html)$>
SetHandler fcgid-script
</FilesMatch>
FcgidWrapper "D:/_Websever/PHP/v7.4/php-cgi.exe" .php
FcgidWrapper "D:/_Websever/PHP/v7.4/php-cgi.exe" .html
</IfModule>
我该怎么做才能获取有关错误或那里出了什么问题的更多信息。任何帮助都值得感激,在此先行致谢。如果有任何信息缺失,请告诉我。我会尽快添加缺失的信息。
答案1
我对此主题进行了进一步研究,并解决了此问题。看来原因是 PHP 版本错误(x86)。我下载了 PHP x64 版本,一切正常!对于所有可能遇到类似错误的人。