首页 > 解决方案 > 尝试将 php-cgi.exe 文件链接到 PHP 管理器扩展时出现 IIS 错误:“由于对象的当前状态,操作无效”

问题描述

我正在尝试使用需要 PHP 才能工作的 IIS 配置 Web 服务器。我在 IIS 上安装了 PHP 管理器扩展,默认情况下我的服务器禁用了 PHP。所以我尝试启用 PHP 并且管理器要求您输入 php-cgi.exe 文件的路径。所以我做到了,添加了文件的路径,当我点击“确定”注册 PHP 并启用它时,它会抛出这个错误:

'执行此操作时出错。

细节:

由于对象的当前状态,操作无效。

它没有显示有关导致它的任何其他信息。PHP 管理器说我的处理程序映射不可用,而在我在另一台计算机上拥有的其他 IIS 服务器中,它说“继承”。我不知道处理程序映射是否与此错误有关,我需要我的网站运行 PHP 才能正常工作。如果我现在运行服务器,它只会在尝试访问网络时引发 500 内部服务器错误。我 100% 确定它是由 PHP 无法正常工作引起的,因为在我的其他服务器中,由于服务器中的 PHP 安装不正确,我也收到了 500 个内部服务器错误。

编辑:我忘了提到 PHP 管理器显示 PHP 已启用并在服务器常规配置中工作,但我上面提到的这个错误只发生在服务器的一个网站上。

标签: phpiisserverwebserver

解决方案


我试图重现该问题,但它只重现一次。一些错误使注册 php 失败。它可以通过再次注册所有php来修复。请按照以下步骤操作。

  1. 单击服务器级别的FastCGI 设置并删除所有 full path指向php-cgi.exe. 在此处输入图像描述
  2. 单击服务器级别的处理程序映射path并删除所有*.php. 在此处输入图像描述
  3. 选择您部署 php 应用程序的站点。在站点级别,单击处理程序映射并单击 Revert To Parent.

在此处输入图像描述

  1. 单击服务器级别的php 管理器并注册新的 php 版本

注意:IIS 仅支持可以从 Web PI 下载的 php 版本。请从 Web PI 下载 php,而不是手动从站点下载。


推荐阅读