【发布时间】:2020-09-22 06:18:15
【问题描述】:
新的 Windows 2016 安装。 复制 Wordpress 站点和数据库,并像以前在 Windows 2012 上安装一样进行设置。
HTTP 错误 500.0 - 内部服务器错误 最可能的原因:
IIS 收到请求;但是,在处理请求期间发生了内部错误。此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。
IIS 无法访问网站或应用程序的 web.config 文件。如果 NTFS 权限设置不正确,就会发生这种情况。
IIS 无法处理网站或应用程序的配置。
经过身份验证的用户没有使用此 DLL 的权限。
请求已映射到托管处理程序,但未安装 .NET 可扩展性功能。
详细错误信息: 模块 CgiModule 通知 ExecuteRequestHandler 处理程序 FastCGI 错误代码 0x00000000 请求网址https://xxxxx.com:443/index.php(需要域名吗?) 物理路径 C:\inetpub\wwwroot\SKYR\index.php 登录方法匿名 登录用户匿名
经过身份验证的用户和文件夹上的 iis_iusrs。
PHPINFO 读数会有帮助吗?如果有,是哪些部分? C:\Program Files (x86)\iis express\PHP\v7.4\php.ini
MySQL80 .NET 4.6.1 使用 .NET CLR v4.030319 - 集成的 IIS 应用程序池
web.config(从 2012 年安装复制)- SSL 已安装并正常工作:
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Force non-WWW" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
</conditions>
<action type="Redirect" url="https://{C:2}/{R:1}" appendQueryString="true" />
</rule>
<rule name="WordPress: https://xxxxx.com" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule></rules>
</rewrite>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
</pre>
无需修改任何内容 - co-lo 托管设置了所有内容。 我不是服务器专家,但可以访问并且可以按照指示进行操作。
【问题讨论】:
-
A 500 错误是一种通用错误消息,几乎涵盖了 PHP 脚本可能出错的每一件事。检查您的服务器错误日志以找出确切的错误消息。
-
哪些日志可以最有效地发现此错误?我在任何日志上浏览此站点时都找不到条目。
-
我对 IIS 不熟悉,所以不能告诉你。 stackoverflow.com/questions/27713763/… 可能会有所帮助
-
您的问题解决了吗?如果您的问题得到解决,那么我请求您将有用的建议标记为答案。这将帮助面临同样问题的其他人。