FastCGI进程意外退出

38

我从Windows 10的IIS Manager重新启动了fastcgi设置、处理程序映射和CGI,并成功显示了我的测试PHP页面。 - neelmeg
17个回答

86

也许您应该像这里所述那样安装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


5
谢谢。它能用了。对于 PHP 5.6,请执行与 5.5.x 相同的操作。 - Mansoorkhan Cherupuzha
这对我在Azure VM Server 2012 R2上也是如此!谢谢! - Miro J.
非常感谢!这对我在Windows 2012上安装5.6版本非常有帮助。我使用了您提供的第一个链接安装了x86版本,之后一切都正常工作了。谢谢! - Tan Rezaei
这对我来说就是解决了! - ChrisCurrie
1
对于 PHP 7.x,它需要 VC++ 15。即使 Windows 服务器是64位的,安装64位和32位版本都是必要的。 - Vitox

36

2
谢谢你拯救了我的生命! - Patito
2
谢谢您指定x86,第一次我拿错了版本 :) - Victor Portela
1
也适用于我。服务器正在运行IIS Express。 - Adam Maloney
1
这应该是正确的答案,它可以工作。 - Ariel Terrani
对于我来说,它显示了一个关于过时配置标志的信息——将其删除解决了我的问题(之前安装了redists)。 - BananaAcid

16

经过长时间的痛苦和折磨,结果发现我需要安装“Visual C++ Redistributable for Visual Studio 2012 Update 4 32位版本”,即使我使用的是64位服务器。


1
是的,完全正确。我在 Windows Server 2012 R2 上的 IIS 上安装了 PHP 5.6。在安装 x64 VC++ 后无法正常工作,但在安装 x86 并重新启动 IIS 后可以正常工作。 - Zeeshan
是的,这是必需的。我认为因为在Windows上php是32位的,所以需要安装x86版本的c++可再发行程序包。如果服务器(计算机)是64位,则最好安装visual c++可再发行程序包的两个版本(64位和32位)。 - Hriju
真是太烦人了。Visual C++可再发行组件错误就像旧的Win 3.1 DLL冲突一样,必须先卸载我已经安装的全部组件,然后从最旧的开始逐个重新安装,直到最新的版本。虽然这样很麻烦,但问题终究被解决了! - Brian Knoblauch
没错,这个修复了。具体来说,它必须是32位(x86)版本。 - contactmatt

11

在我的Windows Server 2016上运行良好,PHP版本为7.1,谢谢... - Jiten
1
谢谢,这在Windows 2012标准服务器上对我有效。干杯! - user752746

9
您可能正在使用IIS的处理程序映射中的C:/[your-php-directory]/php.exe,只需将其更改为C:/[your-php-directory]/php-cgi.exe即可。

1
我知道我配置错了一些东西。所有其他设置和软件依赖项都在那里,而且从命令行执行PHP文件也是有效的。然而,只有IIS会抛出FastCGI运行时错误。 - stun
1
这对我有用。简直不敢相信将“php.exe”更改为“php-cgi.exe”就让它工作了。同时,我在处理程序映射中对子目录(如mydir/mysuba/mysubB)进行了更改。谢谢Akshay Khale。 - Steve42

8
我尝试直接打开php-cgi.exe,结果得到了更清晰的错误信息。

3

'sepehr'的答案指出,这些问题是由于未安装或需要重新安装适用于PHP的VC++ Redistributable版本引起的。

我之前也遇到过这个问题,所以我将解释如何修复它。

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

  • 回到这里的PHP网站,然后在此页面的左侧查看“应选择哪个版本?”然后查看适合您已安装的PHP版本的VC++版本。

  • 现在,您必须下载VC++ 32位和64位版本。如果您的PC已经安装了它们,请先卸载它们,然后按照您最近下载的内容安装(先安装32位,然后安装64位)。

- VC下载链接也存在于上述PHP网站的左侧。

希望对您有所帮助。


1
好的 - 我安装了 VC Redists - 但是版本信息我是从你的评论中获得的。谢谢。 - KManish

1
如果您有两个应用程序(您的应用程序,phpmyadmin),请禁用APC扩展名,希望这样可以解决问题,这对我有效。

1

如果您使用的是PHP 5.6.x,请按照链接安装x86版本。


1

我已经从this link安装了最新版本的Visual C++ Redistributable,用于php 8.0.0 x86:

我的问题已经解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接