标签归档:PHP调试

PHP页面仅输出了一部分内容的原因:程序报错

上周,vsgeping跟我讨论一个问题,关于PHP页面在显示时,仅显示了一部分,一开始我以为是缓冲的问题,即内容被写到stdout后,没有输出到浏览器。纠结了许久
然后在周末时,忽然想起前段时间由于json版本的问题也导致了类似情况的出现,于是怀疑是程序在那个点就停止了,或者说是报错了,程序由于关闭了报错,于是就没有了内容。
有代码,有真相
看如下的一个例子
【PHP报错终止仅显示报错前内容的示例】

错误之前的内容
错误之后的内容

可以看到程序输出:

错误之前的内容
Fatal error: Call to undefined function json() in

上面的程序由于调用了未定义的函数导致报错
如果此时我们去掉error_reporting(E_ALL)
那我们会看到程序仅输出:

错误之前的内容

在此感谢vsgeping