【发布时间】:2014-03-18 13:41:59
【问题描述】:
来自 php 的 headers_sent() 函数在我的目标服务器上不起作用。即使事物被回显,它也不会评估为 True。这可以通过更改 php.ini 中的 output_buffering 值来解决,但不幸的是我没有访问权限。 stackoverflow question 中提到的解决方法是使用 flush() 函数。
但是,当使用 flush() 时,headers_sent() 函数的计算结果始终为 True。这是因为正如 lafor 指出的那样,flush() 将发送标头 + 内容(如果有)。
<?php
flush();
if(headers_sent())
echo 'headers were sent';
//will output 'headers were sent'
我想使用 headers_sent() 函数来检查是否已经写入/输出了任何内容。 标题本身对我来说并不重要。
谁能帮我检查一下之前是否有输出?
(额外的上下文:我想检查是否有任何函数在执行时间早期执行了 echo() 一些警告消息,当然这些函数可以/应该也执行一些更复杂的错误报告,但这是另一回事)
【问题讨论】:
标签: php