检测内容是否发送到codeigniter中php文件中的行之前
我试图通过记录错误并显示404页面来改变检测内容是否发送到codeigniter中php文件中的行之前,php,codeigniter,error-handling,Php,Codeigniter,Error Handling,我试图通过记录错误并显示404页面来改变system/application/errors中错误文件的工作方式。然而,有时错误发生在页面的中间,而我只需要显示错误页。 我试图检查是否发送了头并清理了输出缓冲区,但没有成功。 有什么建议吗 更新:我的问题似乎让人困惑,所以我会澄清。我的意图是在发送部分内容后一段时间出现错误时显示一个定制的500页,并记录错误发生的条件,这样用户就不会看到难看的页面,黑客也不会看到漏洞。主要问题在于在出错之前删除内容 迄今为止尚未奏效的策略: 使用ob\u end
system/application/errors
中错误文件的工作方式。然而,有时错误发生在页面的中间,而我只需要显示错误页。
我试图检查是否发送了头并清理了输出缓冲区,但没有成功。
有什么建议吗
更新:我的问题似乎让人困惑,所以我会澄清。我的意图是在发送部分内容后一段时间出现错误时显示一个定制的500页,并记录错误发生的条件,这样用户就不会看到难看的页面,黑客也不会看到漏洞。主要问题在于在出错之前删除内容
迄今为止尚未奏效的策略:
- 使用
ob\u end\u clean检查
$CI=&get_instance()$CI->output->set_output(“仅500消息”)代码>
- 向控制器添加一个
函数,如果在\u输出($data)
文件中找到某种模式,则只回显500消息系统/application/errors/*.php
非常感谢您的帮助。在此页面上向下滚动至2008年5月27日。 如果尚未发送标头,则会执行以下操作: 标题('位置:'。$url);
否则,它将使用一些JavaScript重定向。如果禁用JavaScript,它将使用元标记。您是否正在为codeigniter查找自定义404错误页面
您的意思是更改CI错误的默认处理方式吗 查看这两个指南,查看如何处理codeigniter和PHP错误 打开对文本文件或其他文件的错误日志记录,然后使用 您应该将E_ALL更改为E_ERROR,以便仅显示致命运行时问题的消息。这将隐藏所有php错误,但会停止脚本执行的错误除外
为什么是404错误?不是像500这样更合适的吗?你是对的,也许我应该改变它。你认为会出现什么样的错误?实时代码不应该有任何错误,这在我看来是必要的。很抱歉,我在那里找不到任何可以帮助我的东西。我想销毁在发生错误之前发送的输出,并显示自定义404或CodeInChaos建议的500页$CI=&get_instance()$CI->输出->设置输出(“我的自定义500响应”);出口没用了再次感谢你的帮助和耐心。改变错误处理在某种程度上是有帮助的,但是如果有人设法在视图中间某处产生错误,将会发生什么?一些内容将被发送,包含错误的部分将不被发送,然后更多的内容将被发送,这将导致一个笨拙的页面。我想做的是:删除错误之前发送的所有内容,显示自定义500响应并退出。
error_reporting(E_ERROR);