【发布时间】:2020-07-18 22:55:37
【问题描述】:
我正在开发一个 PHP 应用程序(在 IIS 服务器上运行),并且大多数页面都可以正常工作,但其中一个会引发以下错误:
HTTP 错误 500.0 - 内部服务器错误 C:\[PHP 路径]\php-cgi.exe - FastCGI 进程意外退出我使用的 PHP 版本是 7.1.10x86。我已经验证在我的 IIS 服务器中正确配置了 FastCGI。我看到的唯一错误是在事件查看器中,它看起来像这样:
日志名称:应用程序 来源:应用程序错误 日期: 事件 ID:1000 任务类别:(100) 级别:错误 关键词:经典 用户:不适用 计算机:[机器名称] 描述: 错误应用程序名称:php-cgi.exe,版本:7.1.10.0,时间戳:0x59cab423 错误模块名称:VCRUNTIME140.dll,版本:14.16.27012.6,时间戳:0x5bc12895 异常代码:0xc0000005 故障偏移量:0x0000282e 错误进程ID:0x5cdc 错误应用程序启动时间:0x01d60c369ee4b582 错误的应用程序路径:C:[PHP 路径]\php-cgi.exe 错误模块路径:C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll 报告 ID:7040cd3e-9ced-4579-8cbb-57aa2ecf72c2 故障包全名: 错误的包相关应用程序 ID:我该如何解决这个问题?
【问题讨论】:
-
通过 php.ini 中的 error_log 启用错误日志记录,以确定哪个文件和哪一行给出了错误。
-
0xc0000005 是本机应用程序中典型的访问冲突。您必须调试 php-cgi.exe 才能了解更多信息。但是,请记住,PHP 7.1 已停产php.net/supported-versions.php,那么您不应该在上面浪费时间,应该立即升级。
-
@LexLi 如何调试 php-cgi.exe?我对 PHP 完全陌生。你可能会认为我对此一无所知。
-
你可能会从stackoverflow.com/questions/14502834/debug-php-cgi-exe-vb6-dll 那里得到一些提示,但调试原生内存问题对于初学者来说绝非易事。
-
php 错误日志中没有关于此错误的任何内容,我最终不需要调试 php-cgi.exe。然而,在我的团队的帮助下,我能够弄清楚是什么原因造成的。它与 xDebug 有关。