PHP-CGI开始提供空白页


8

我的PHP-CGI没有明显的原因开始提供空白页面,直到我重新启动该过程。

我想知道为什么。

不幸的是,默认情况下,PHP的“生产”配置文件没有error_log。我的Nginx错误日志也没有显示与PHP相关的错误。这可能是没有希望的情况,但我只是以防万一。

这是我的设置

  • Nginx 0.8.2
  • 带有Suhosin-Patch 0.9.6.2(cli)的PHP 5.2.6-3ubuntu4.1(内置:2009年4月23日14:37:14)
  • PHP APC 3.0.19-2
  • spawn-fcgi v1.6.2(ipv6)-lighttpd的fastcgi包装器

有什么想法可能导致错误吗?

更新资料

我认为我已经隔离了问题。每当它开始消隐时,我一直在使用Monit自动重启PHP。我的PHP错误日志为空。

但是我发现,如果禁用了一个名为WP-SuperCache的Wordpress插件,我的PHP将每隔10个小时停止重置一次。到目前为止,我的PHP已经连续运行了3天。有人对此有任何建议吗?

Answers:


2

Supercache会生成页面的完整缓存版本,以及进行其他一些内部缓存,在高负载情况下可能会出现某种时序问题。我会检查您的缓存文件夹,以确保其中不包含空白文件。如果是这样,则可能是文件锁定问题。解决这样的问题可能很棘手,并且可能需要您打开一个故障单,因为这可能是代码本身的问题。


1

您是否尝试过实际上停止fcgi服务并重新启动而不是重新启动它。重新启动fcgi时,我也发生过类似的奇怪事件


1
问题并非来自重新启动。当我从一个名为Reddit的链接转储中吸引了一堆访客时,它只是自发地发生在一夜之间。
未知

1

检查请求的响应状态是否再次发生(例如curl -i),如果状态不是200,请检查您的错误页面(特别是显示错误号的页面),并确保没有设置重定向的方式可能会导致无限循环。

如果响应状态为200,请检查响应中是否包含HTTP标头以外的其他文本。


我想应该这样做,但是我已经重新启动了PHP,以便人们可以查看页面。我的服务器日志中没有看到任何错误。
未知


1

不是答案,而是建议-用php-fpm替换spawn-fcgi 更可定制。

PS。也许您在nginx.conf中有特殊的50x错误页面重定向

UPD: 今天,当nginx + php开始提供空白页面时,我遇到了类似的问题。我的研究表明,无论php抛出什么异常,它都会发送空白页。可能是某种php.ini指令提供空白而不是错误。我应该检查日志等。。。

UPD2: 查看您的php.ini,其中有2个参数需要更改才能查看php错误:

error_reporting = E_ALL & ~E_NOTICE
display_errors = On

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.