当我在php的手册中查看错误处理时,有人发布了一个关于可能的冲突的有趣评论。这是链接:http://www.php.net/manual/en/errorfunc.configuration.php。
基本上,它声明在error_reporting()之前调用session_start()会导致error_reporting()行为不正确。相反,订单必须翻转。我很好奇以前遇到过这个问题的人。
更重要的是,如果存在问题,那将如何影响课程?例如,如果我要实现一个类 - 例如用户登录 - 使用它自己的特定错误处理系统涉及error_reporting(),是否会发生冲突?更具体地说,如果我有一个带有session_start()的文件,那么我就像上面所说的那样调用该类。
先谢谢了。
答案 0 :(得分:3)
首先,这两个功能显然完全不相关。
其次,我在error_reporting
之前和之后都致电session_start
,并且从未见过问题。使用我的框架的任何人都没有报告任何问题。最好在应用程序启动时设置error_reporting
一次,但有时我会在调试其他人的代码的特定部分时将其设置得更深。
但是,如果您在开始会话之前输出错误(显示错误),那么如果您没有输出缓冲,则可以获得标题警告。
答案 1 :(得分:1)
虽然没有直接回答您的问题,但是使用ob_start()
作为第一次通话最有可能解决您的问题,因为当输出缓冲打开时,标题和内容顺序将不再重要。