PHP session_start(): Cannot star

2019-09-25  本文已影响0人  我是何宝荣呀

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() 。否则将不能得到正确的结果。
资料参考:
https://blog.csdn.net/xiedongze__/article/details/90751786
https://blog.csdn.net/forest_fire/article/details/81875526

上一篇下一篇

猜你喜欢

热点阅读