2

当我查看 php 手册中的错误处理时,有人发布了一条关于可能发生冲突的有趣评论。这是链接:http ://www.php.net/manual/en/errorfunc.configuration.php 。

基本上,它表示在 error_reporting() 之前调用 session_start() 会导致 error_reporting() 行为不正确。相反,必须颠倒顺序。我很好奇以前有没有人遇到过这个问题。

不过,更重要的是,如果出现问题,这将如何影响课程?例如,如果我要使用涉及 error_reporting() 的特定错误处理系统来实现一个类(例如用户登录),是否会发生冲突?更具体地说,如果我有一个带有 session_start() 的文件,那么我会像上面所说的那样调用该类。

先谢谢了。

4

2 回答 2

3

首先,这两个功能显然是完全不相关的。

其次,我error_reporting之前和之后都打过电话session_start,从来没有遇到过问题。使用我的框架的人也没有报告任何问题。最好error_reporting在应用程序开始附近设置一次,但有时我会在调试别人代码的特定部分时设置得更深一些。

但是,如果您要在开始会话之前输出错误(显示错误),如果您没有输出缓冲,则可能会收到标题警告。

于 2012-09-10T19:31:37.627 回答
1

虽然没有直接回答您的问题,但使用ob_start()作为第一个调用很可能会解决您的问题,因为当输出缓冲打开时,标题和内容顺序将不再重要。

于 2012-09-10T19:31:26.540 回答