<分区>
在我的应用程序中,我可以确保没有这样的“无意”空白或其他任何东西。我没有在 Controller 或模型上执行“echo”,但日志文件中总是有“header already sent”错误(浏览器中没有显示)。我也没有任何关闭的 php 标记。唯一“可疑”的是我在模型和 Controller 上都加载了 session 和输入库。
这实际上不是什么大问题,但如果我使用 CLI 请求,错误会变得很糟糕。
浏览了一段时间后,我在 stack overflow 找到了这个答案: https://stackoverflow.com/a/13783368/755319 它说我可以在 index.php 的开头添加 ob_start() 用于输出缓冲
<?php
ob_start();
/*
*---------------------------------------------------------------
* APPLICATION ENVIRONMENT
*---------------------------------------------------------------
是不是省得做这样的事?
编辑: 好吧,我可能错了,漏掉了一些东西。有什么程序化的方法可以找出问题所在吗? (用于查找错误的 php 标记、空格或其他内容的程序)?
再次编辑:该错误仅在 CLI 模式下生成。错误如下:
<h4>A PHP Error was encountered</h4>
<p>Severity: Notice</p>
<p>Message: Undefined index: REMOTE_ADDR</p>
<p>Filename: core/Input.php</p>
<p>Line Number: 351</p>
</div><div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: Cannot modify header information - headers already sent by (output started at /home/gofrendi/public_html/No-CMS/system/core/Exceptions.php:185)</p>
<p>Filename: libraries/Session.php</p>
<p>Line Number: 675</p>