当我试图运行我的应用程序时,我得到这个错误消息。我不知道怎么解决:

HTTP错误404.3 -未找到页面 您所要求的服务无法提供 因为延伸 配置。如果页面是 脚本,添加一个处理程序。如果文件 应该下载,添加一个MIME映射。

下面是错误页面的截图:

我能做什么来修复这个错误?


当前回答

PHP 7.3应用程序IIS在Windows Server 2012 R2

这对我来说是一个两步的过程。

1)启用WCF服务-重启服务器

2)添加FASTCGI模块映射

1)

进入“服务器管理器”>添加角色和特性 从服务器池中选择您的服务器 进入功能> WCF服务 我选择了所有类别然后安装

2)

去IIS >选中的站点 在中心窗格中选择处理程序映射 右边窗格选择添加模块映射

在编辑窗口内:

请求路径:*.php

模块:FastCgimodule

可执行文件:我浏览到PHP文件夹中的PHP -cgi.exe

名称:PHP7.3

现在我想起来了。也许有一种方法可以在web配置中添加这个处理程序映射,这样如果你把你的网站迁移到另一个服务器上,你就不必一遍又一遍地添加这个映射。

编辑:在这里。将此添加到web-config部分。

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />

其他回答

如果这对任何人都有帮助,我在试图运行aspnet_regiis.exe时得到这个错误:

对0x8007000B的操作失败 试图加载格式不正确的程序

事实证明,服务器运行的是2008年64位,而我试图运行32位版本的实用程序。运行在\Windows\Microsoft.NET\Framework64\v2.0.50727中找到的版本修复了这个问题。

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i

使用aspnet_regiis.exe注册你正在使用的。net框架版本。

这是一个常见的问题,当IIS安装在VS或。net框架之后时就会发生。

注意:对于Windows 8/10用户,请参阅下面JohnOpincar的另一个回答。还有Kevin Brydon的评论/建议。

验证IIS (IIS7或以上版本)中的应用程序池是否选择为集成的。在这种情况下,可能改变经典可以解决这个问题。

要添加一个扩展,以便在IIS中服务

打开IIS管理器并导航到要管理的级别。 在功能视图中双击MIME类型。 在Actions窗格中,单击Add。 在“添加MIME类型”对话框中,在“文件扩展名”文本框. ...中输入文件扩展名键入MIME类型 在MIME类型文本框中。 单击OK。

针对Windows Server 2016

打开服务器管理器表单 Manage ->添加角色和特性 Next直到Features页面 检查WCF服务功能及其所有子功能 下一步和安装