【问题标题】:The FastCGI process exited unexpectedlyFastCGI 进程意外退出
【发布时间】:2014-05-25 07:28:38
【问题描述】:

我正在尝试在 Windows 2008 服务器上通过 FastCGI 运行 PHP。

我遵循了这个安装文档http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis7/ 并检查了我多次正确地完成了这些步骤。

但是,当我尝试执行一个 php 页面时,我会遇到以下错误:

HTTP 错误 500.0 - 内部服务器错误 C:\PHP\php-cgi.exe - FastCGI 进程意外退出

【问题讨论】:

标签: php windows-server-2008


【解决方案1】:

在我的情况下,问题来自应用程序池。尝试更改您的应用程序池 ASP.NET v4.0。

【讨论】:

    【解决方案2】:

    您可能在 IIS 的 Handler mapping 中使用 C:/[your-php-directory]/php.exe 只需更改它 C:/[ your-php-directory]/php-cgi.exe.

    【讨论】:

    • 我知道我配置错误。所有其他设置和软件依赖项都在那里,并且从命令行执行 PHP 文件正在工作。但是,只有 IIS 抛出 FastCGI 运行时错误。
    • 这对我有用。无法相信从“php.exe”更改为“php-cgi.exe”会成功。我还对处理程序映射中的 mydir/mysuba/mysubB 等子目录进行了更改。谢谢 Akshay Khale
    【解决方案3】:

    也许您应该尝试按照here 的说明安装 VC++ 运行时。

    很有可能您正在运行的 PHP 版本缺少正确的 VC++ 运行时。

    如果您运行的是 PHP 5.5.x,则需要确保已安装 VC++11 运行时:

    http://www.microsoft.com/en-us/download/details.aspx?id=30679

    确保您下载并安装 x86 版本 (vcredist_x86.exe),Windows 上的 PHP 还不是 64 位。

    如果您运行的是 PHP 5.4.x,那么您需要安装 VC++9 运行时:

    http://www.microsoft.com/en-us/download/details.aspx?id=5582

    【讨论】:

    • 谢谢。有用。对于 PHP 5.6,也请执行与 5.5.x 相同的操作
    • 我在 Azure VM Server 2012 R2 上也是如此!谢谢!
    • 巨大的帮助!这对我在 Windows 2012 上安装 5.6 有用。我使用您的第一个链接安装了 x86 版本。之后它就起作用了。谢谢
    • 为我做到了!
    • PHP 7.x 是 VC++ 15,需要安装 64bit 和 32bit 版本,windows server 也是 64bit。
    【解决方案4】:

    如果您有两个应用程序,例如(您的应用程序,phpmyadmin),只需禁用 APC 扩展 希望能解决这个问题 它对我有用

    【讨论】:

      【解决方案5】:

      我尝试直接打开php-cgi.exe,它给了我一个更清晰的错误信息。

      【讨论】:

        【解决方案6】:

        在经历了很多痛苦和折磨之后,我发现我需要安装“Visual C++ Redistributable for Visual Studio 2012 Update 4 32-bit version”,即使是在我的 64 位服务器上。

        【讨论】:

        • 是的。我在 Windows server 2012 R2 上的 IIS 上安装了 PHP 5.6。在 x64 VC++ 之后不起作用,但在 x86 并重新启动 IIS 之后起作用。
        • 是的,这是必需的。我认为由于 php 在 Windows 上是 32 位的,这就是为什么需要安装 x86 版本的 c++ 可再发行包的原因。如果服务器(计算机)是 64 位,那么最好安装两个版本(64 位和 32 位)的 Visual c++ 可再发行包。
        • 多么痛苦。 Visual C++ Redistributable 错误就像旧的 Win 3.1 DLL 冲突再次发生。需要卸载所有我已经拥有的,然后从最旧的开始重新安装它们,直到最新。解决了这个问题!
        • 是的,这解决了它。具体来说,它必须是 32 位 (x86) 版本。
        【解决方案7】:

        当你从 dos 命令行运行 php-cgi.exe 时,你会得到缺少的 MSVCR110.dll 弹出消息。

        就像 Ben 说的,在这里获取 dll 的 x86 下载:http://www.microsoft.com/en-us/download/details.aspx?id=30679

        【讨论】:

        • 谢谢你救了我的命!
        • 感谢您指定x86,我第一次得到错误的版本:)
        • 也为我工作。服务器正在运行 IIS Express。
        • 这应该是正确的答案
        • 对我来说,它显示了有关过时配置标志的信息 - 删除它解决了我的问题(预先安装了 redists)
        【解决方案8】:

        在我的情况下,我有错误的配置星座:

        • 错误报告已禁用
        • 配置错误

        启用 error_reporting 后,很明显 session_path 指向了错误的文件夹。

        “悲伤但真实”

        【讨论】:

          【解决方案9】:

          对于使用 PHP 5.6.x 的用户,请遵循 link 并安装 x86 版本。

          【讨论】:

            【解决方案10】:

            我在 Windows Server 2008 R2 上安装 PHP 7 时遇到了同样的错误。我通过安装 Visual C++ Redistributable for Visual Studio 2015 解决了这个问题。

            【讨论】:

            • 而且必须安装x86版本,x64解决不了500错误,x86完全解决了
            【解决方案11】:

            作为“sepehr”的答案,这个问题是因为 VC++ Redistributable 适用于 PHP 的版本没有安装或需要重新安装。

            我之前遇到过,所以我会解释我的修复步骤。

            1- 每个 PHP 版本都是由特定的 Visual C++ Redistributable 版本构建的,例如 (10, 11,12,14,..) 等等。 (((你怎么知道!!看..))

            • 查看enter link description here PHP 站点,然后在此页面的左侧,查看“我选择哪个版本?”然后看看哪个版本的 VC++ 适合你安装的 PHP 版本。

            • 现在您必须同时下载 VC++ 32 和 64。如果您的 PC 已经安装了,请先卸载它们。然后安装你最近下载的东西 (前 32 个,然后是 64 个)。

            - 左侧提到的 PHP 站点上也有 VC 下载链接。

            希望对你有帮助。

            【讨论】:

              【解决方案12】:

              如果您在 windows server 2008 rc2 Enterprise 上安装 PHP 7.1.14,唯一对我有用的是从https://www.microsoft.com/en-us/download/details.aspx?id=53587 安装 microsoft Visual C++ 2015 Redistributable Update 3

              【讨论】:

              • 在 Windows Server 2016 上为我工作,PHP 版本 7.1,谢谢...
              • 谢谢,这在 Windows 2012 标准服务器上对我有用。干杯!
              【解决方案13】:

              对于问题 C:\PHP\php-cgi.exe - FastCGI 进程意外退出。

              我通过安装 Visual C++ Redistributable for Visual Studio 2015.(Microsoft Visual C++ 2015 Redistributable Update 3)Visual C++ Redistributable for Visual Studio 2012 Update 4(32 位和 64 位)解决了这个问题 版本。并确保在 php.info 文件 cgi.fix_pathinfo=0 中启用。

              【讨论】:

                【解决方案14】:

                在 Windows 中更改 PHP 版本后,我也收到此错误。 我安装了 IIS 的 PHP 管理器插件,它显示 PHP 没有启用,然后我在“注册新的 PHP 版本”后解决了这个问题

                【讨论】:

                  【解决方案15】:

                  我为这个问题苦苦挣扎了好几个小时,但没有任何解决方案对我有用。可能看起来很明显或很愚蠢,但我的错误是在 PHP 5.6 版本中。我使用的是 XAMPP 的 PHP 5.6,但如果您使用 Web PI(Microsoft Web 平台安装程序)在 IIS 上下载 PHP,它更适合 IIS 而不是 XAMPP 版本。

                  更多信息:

                  https://stackify.com/how-to-host-php-on-windows-with-iis/

                  【讨论】:

                    【解决方案16】:

                    我已经安装了最新版本的 Visual C++ Redistributable from this link for php 8.0.0 x86:

                    我的问题解决了。

                    【讨论】:

                      猜你喜欢
                      • 2020-05-19
                      • 2017-08-02
                      • 2020-07-18
                      • 1970-01-01
                      • 2012-08-13
                      • 1970-01-01
                      • 2018-03-27
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多