.net - 如何解决 HTTP 错误 500.0 - IIS10 上的内部服务器错误?
问题描述
我已经玩了一段时间了,但是我在网上没有发现任何类似的问题。我正在使用 Windows 10 Home 1909 和 IIS-10。这是我的应用程序的结构:
目录:
"C:\inetpub\wwwroot\website1"
- (包含文件: iisstart.htm
, iisstart.png
, index.html
, index.php
, web.config
)
网络配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="true" />
<!--I have also tried with and without these
<requestFiltering>
<hiddenSegments>
<remove segment="App_GlobalResources" />
<remove segment="App_code" />
<remove segment="bin" />
<remove segment="App_Browsers" />
<remove segment="App_Data" />
<remove segment="App_WebReferences" />
<remove segment="App_LocalResources" />
</hiddenSegments>
</requestFiltering>
-->
</system.webServer>
</configuration>
"website1.com/index.html"
- 工作正常
"website1.com"
并将"website1.com/index.php"
给出以下错误:
IIS10(连接 website1.com):
- 默认文档:
index.php
,Default.htm
,Default.asp
,index.htm
,index.html
,iisstart.html
,default.aspx
条目类型为 INHERITED(请注意,在 DEKSTOP-... 下存在相同的文件,但条目类型为“LOCAL”) - 权限(IIS_IUSRS):拥有对目录的所有权限:
"C:\xampp\php_7_2_31"
- FastCgiModule 是使用这些教程安装的:link1,link2一步一步。
- 应用程序池:
CMD:(安装了 Microsoft Visual C++ 2015 Redistibutable (x64) - 14.0.23026)
Windows功能:
现在是有趣的部分(我不知道如何进行)。
看起来 .NET 没有被触发,因此 FastCGI 给出了错误。我尝试在 Windows 功能中添加以下内容:
a) .NET Extensibility 3.5
& ASP NET 3.5
- 重新启动我的机器并进行尝试,它将 HTTP ERROR 更改为 500.24
b) .NET Extensibility 4.8
& ASP NET 4.8
- 重新启动我的机器并进行尝试,它将 HTTP ERROR 更改为 500.24
c) .NET Extensibility 3.5
& ASP NET 3.5
& .NET Extensibility 4.8
& ASP NET 4.8
- 重新启动我的机器并尝试一下,它将 HTTP ERROR 更改为 500.24
如果你知道如何解决这个问题,请告诉我。我已经尝试了所有教程,论坛,但找不到任何东西。
解决方案
您的 php.exe 文件夹路径之间是否有空格?如果 php_7_2_31 之间有空格,则先将其删除。
看起来 iis 无法从 camp 文件夹中读取 PHP 的配置。要解决此问题,只需尝试从 Web 平台安装程序安装 PHP。它易于下载和使用。安装后无需在 iis 中进行额外配置。