mod_fcgid 读取数据超时 - 脚本头过早结束
mod_fcgid read data timeout - Premature end of script headers
无法访问我的一位 Plesk 用户的网站。服务器报告 500 内部服务器错误,该用户的 error_log 显示一堆
[warn] mod_fcgid: read data timeout in 60 seconds
[error] Premature end of script headers: index.php
DocumentRoot 包含正常的 WordPress 安装。其他站点 运行 使用相同的 WP 版本,使用相同的数据库服务器和 PHP+Extensions 运行 没问题。 A <?php phpinfo(); ?>
运行 也很好。从 cli returns 网页调用 php index.php
,但对于 idle Xeon E5-2620 Server w/ 64GB RAM
来说有点太慢了
是否有任何已知问题?我该如何进一步调试?
更多系统信息:
- PHP 5.6.24(也试过 5.4)
- Plesk 12.5.30
编辑:问题间歇性发生。现在,没有返回 500 错误,网站加载正常(有点慢)。我增加了 memory_limit,只是为了确保它不是配置限制
您可以按照此处所述尝试增加 FcgidIOTimeout https://kb.plesk.com/en/121251
Since Plesk 11.5, "FcgidIOTimeout" parameter is set to the same value as max_execution_time php parameter in domain's PHP settings
您也可以尝试任何 PHP-FPM 处理程序而不是 FastCGI,因为 mod_fcgid 有很多无法避免的内部性能限制。
问题是由某些脚本中的流氓 file_get_contents
引起的。
我查看了错误消息第一次出现的错误日志,发现了一个在错误消息第一次出现时创建的文件——仅仅 2 年前...
所以我删除了恶意软件(在 https://talk.plesk.com/threads/debugging-premature-end-of-script-headers.338956/ 有详细的描述),重新启动服务器,错误现在消失了。
技术细节:出现错误是因为分发恶意软件的服务器处于离线状态。 file_get_contents("http..."
超时,本地脚本失败并返回错误信息。
无法访问我的一位 Plesk 用户的网站。服务器报告 500 内部服务器错误,该用户的 error_log 显示一堆
[warn] mod_fcgid: read data timeout in 60 seconds
[error] Premature end of script headers: index.php
DocumentRoot 包含正常的 WordPress 安装。其他站点 运行 使用相同的 WP 版本,使用相同的数据库服务器和 PHP+Extensions 运行 没问题。 A <?php phpinfo(); ?>
运行 也很好。从 cli returns 网页调用 php index.php
,但对于 idle Xeon E5-2620 Server w/ 64GB RAM
是否有任何已知问题?我该如何进一步调试?
更多系统信息:
- PHP 5.6.24(也试过 5.4)
- Plesk 12.5.30
编辑:问题间歇性发生。现在,没有返回 500 错误,网站加载正常(有点慢)。我增加了 memory_limit,只是为了确保它不是配置限制
您可以按照此处所述尝试增加 FcgidIOTimeout https://kb.plesk.com/en/121251
Since Plesk 11.5, "FcgidIOTimeout" parameter is set to the same value as max_execution_time php parameter in domain's PHP settings
您也可以尝试任何 PHP-FPM 处理程序而不是 FastCGI,因为 mod_fcgid 有很多无法避免的内部性能限制。
问题是由某些脚本中的流氓 file_get_contents
引起的。
我查看了错误消息第一次出现的错误日志,发现了一个在错误消息第一次出现时创建的文件——仅仅 2 年前...
所以我删除了恶意软件(在 https://talk.plesk.com/threads/debugging-premature-end-of-script-headers.338956/ 有详细的描述),重新启动服务器,错误现在消失了。
技术细节:出现错误是因为分发恶意软件的服务器处于离线状态。 file_get_contents("http..."
超时,本地脚本失败并返回错误信息。