Windows Azure WebRole 中的 PHP53_via_FastCGI 错误 0xc0000005
我不知道为什么,但在搜索了 6 个小时的 bug 后,我无法识别它。 当尝试包含动态文件路径时,它会出现在框架代码深处的某个位置。
当我尝试在不同的地方执行完全相同的包含调用时,不会出现 IIS 错误。
phpinfo() 工作正常,但我的应用程序不行。
IIS 错误:
HTTP 错误 500.0 - 内部服务器错误 D:\Program Files (x86)\PHP\v5.3\php-cgi.exe - FastCGI 进程意外退出
模块 FastCgiModule 通知 ExecuteRequestHandler 处理程序 PHP53_via_FastCGI错误代码0xc0000005
PHP 5.3.9 nts on IIS 7.5
我已经阅读了大量有关此错误的文章,但没有任何帮助。 很有趣,因为昨天一切都很好。
也许你可以给我一个有用的提示。
编辑:
看来我找到了问题的原因:
1.部署到Azure云后,某些进程将php.ini的整个副本添加到末尾现有的 php.ini 文件。所以我从 php-cgi 得到了很多警告。
->这是通过启动任务完成的。我想知道为什么现在的任务会增强一切,而不是像以前那样覆盖。
2. 我看到 Windows 5.3.9 有一个新的 PHP 版本(构建日期 2012 年 1 月 10 日 16:30:15)。您还可以通过 MS Web Platform Installer 找到它。我目前使用 5.3.8(构建日期 2011 年 8 月 23 日 12:11:54)。我的程序文件和 WebRole 文件夹中都有它。通常启动任务会将我的版本从 WebRole 文件夹中取出,但最近却没有。当我通过 RDP 更改路径时,一切正常。
现在我只需要找到一种方法来强制 Azure 将 PHP 放入我的包中。
I don't why, but after 6h of searching the bug, I can't identify it.
It appear somewhere deep in the framework code when tring to include a dynamic file path.
When I try to do the exctly same include call on a different place, die IIS Error doesn't appear.
phpinfo() works fine, my application not.
The IIS error:
HTTP Error 500.0 - Internal Server Error D:\Program Files
(x86)\PHP\v5.3\php-cgi.exe - The FastCGI process exited unexpectedlyModule FastCgiModule Notification ExecuteRequestHandler Handler
PHP53_via_FastCGI Error Code 0xc0000005
PHP 5.3.9 nts on IIS 7.5
I already red tons of articles about this error, nothing helped.
It's funny, because yesterday everything was fine.
Maybe you can give me a helpful hint.
Edit:
It seems I found the reasons for the problem:
1. After deployment into the Azure cloud, some process adds a whole copy of the php.ini to the end of the existing php.ini file. So I get a lot of warings from php-cgi.
-> This was done by the startup task. I'm wondering why the task now enhances everything instead of overwriting as before.
2. I saw that there is a new PHP Version for Windows 5.3.9 (Build date Jan 10 2012 16:30:15). You can also find it over MS Web Platform Installer. I currently use 5.3.8 (Build date Aug 23 2011 12:11:54). I have it in Program files and also in my WebRole folder. Normally the startup task takes my version out of the WebRole folder but newly it doesn't. When I change the paths over RDP, everthings works well.
Now I just need to find a way to enforce Azure to take the PHP in my package.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我找到了绕过这个错误的方法。我在这里解释了: http://blog.itopia.de/windows- azure-custom-php-installation/366
但我仍然不知道为什么 PHP 5.3.9 会产生此错误,而 5.3.8 不会......
I found a way to bypass this error. I explained it here: http://blog.itopia.de/windows-azure-custom-php-installation/366
But I still don't know why PHP 5.3.9 create this error and 5.3.8 not...