错误解决案例 session_start(): Cannot start session when headers already sent in <b>D:\web\www\baixiu-dev\functions.php
今天在写一个demo的时候,运行时出现一个很玄学的bug,就是上面那个,我也不知道为什么会出错。
但是在这里记录下解决方案:
具体为什么我也不知道~ 以后知道再来填坑吧~~~
先是打开配置php的配置文件(php.ini)
搜索session.auto_start
,将其后面的0置为1,然后重启apache,就解决了!
在日常开发中,php.ini配置session.auto_start=0;是默认关闭会话,如果想开启会话需要调用session_start();
而session.auto_start 开启就自动完成了session_start();
当session.auto_start = 1 时,执行 session_start() 将产生新的 session_id
其优点在于,任何时候都不会因忘记执行 session_start() 或 session_start() 在程序里的位置不对,而导致错误;
缺点在于,如果你使用的是第三方代码,则必须删去其中的全部 session_start() 。否则将不能得到正确的结果。
发表评论 取消回复