当前位置:  开发笔记 > 编程语言 > 正文

PHP生成一个完全白页,没有错误,日志或标题.

如何解决《PHP生成一个完全白页,没有错误,日志或标题.》经验,为你挑选了4个好方法。

在我的私人WAMP PC上运行一些PHP代码时,我突然从服务器得到一个空白的响应 - 实际上没有响应.没有标题,没有数据,PHP错误日志中没有任何内容,nada.我重新启动了APACHE和PHP,但仍然没有.我知道php正在运行,因为我可以正常访问其他PHP脚本.

Firebug报告没有标题,?字节,只需要163ms来"加载"(所以它不是超时).我想到了快速的内存消耗 - 但我监控了我的PC的内存并且没有出现任何高峰.到目前为止,错误和例外一直很好.

世界上有什么?

max_execution_time = 30 ;
max_input_time = 60 ; 
max_input_nesting_level = 64 ; 
memory_limit = 500M ;

error_reporting = E_ALL | E_NOTICE | E_STRICT
display_errors = On
log_errors = On

:编辑:

我不会@用十英尺杆接触.我认为红宝石家伙会把它扔进去,所以程序员会放弃PHP.

无论如何,我启用了xdebug并且它没有输出任何研磨文件.然后我接受了zombat的建议并在页面顶部放置了一个DIE()并且它有效.我想我只是有一些非常奇怪的代码完全杀死了PHP.即使错误被禁用或抑制,@我仍然应该从服务器返回带有空内容的标题!

如果我发现更多,我会回复.



1> Mike B..:

从控制台运行该页面,您将收到错误消息.

// nix
php yourFile.php

// Windows
c:\path\to\php.exe yourFile.php



2> txyoji..:

您可以在此目录中有一个.htaccess文件,该文件已修改错误报告.

要进行测试,请尝试在php脚本的顶部显式设置这些选项,这会给您带来麻烦.

ini_set('display_errors',1);
error_reporting(E_ALL);

我也看到这是由过度热心的反病毒软件包引起的.一些包含Web代理软件来过滤互联网和电子邮件.在这种情况下,页面将继续加载到无穷大但永远不会完成.



3> Don Neufeld..:

请注意@(错误抑制)运算符,如果你在某行上有语法错误,PHP将以静默方式退出.

要检测这种情况,请使用set_error_handler并编写自己的错误处理程序,在使用@时仍然会调用错误.



4> zombat..:

您说其他PHP脚本正在运行,因此表明它可能不是Apache问题.您似乎也正确地记录了所有日志记录设置,并且没有记录任何内容,因此很可能PHP在输出任何内容之前正常退出.以下之一可能是真的:

一个错位的exit()陈述?你正在编写代码,也许你添加了一个快速exit()检查的东西,忘了删除它?

don.neufeld关于检查@操作符使用的想法,它可以抑制任何错误消息,过去花费了我几个小时的调试时间.绝对是值得寻找的东西.

在这种情况下,穷人的调试方法可以产生一些快速的结果.exit('wtf');在这里输入一个in作为脚本中的第一行.那会跑吗?无论结果如何,该测试的结果立即排除了各种可能性.如果你没有得到任何输出,那么它可能是服务器级问题(配置,坏模块等),但要注意任何更高级别的缓冲.如果你确实获得了输出,那么你知道服务器很好,问题在于你的脚本更深层次,在这种情况下你可以将exit()呼叫向下移动几行,冲洗并重复.不是一种优雅的调试方式,但它快速而且肮脏,你可能会在几分钟内找到问题.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有