php警告提示A session had already been started – ignoring session_start() 解决方案

php警告提示A session had already been started - ignoring session_start() 解决方案

逍遥乐继续我的调试工作!并给大家带来解决办法!

这是逍遥乐用到的的主题登录代码用到了session_start()方法,但是直接这样是不正确的!
会爆出警告提示:

Notice: A session had already been started - ignoring session_start() in ***\sina.php on line 2

错误提示:A session had already been started - ignoring session_start()

翻译过来说的是已经存在一个session被打开了 -- 忽略;
废话不多说,解决问题是关键,切入解决方法:
解决办法1: 在php.ini 中 修改成

session.auto_start = 0  // 0是关闭  1是打开

这还是和前面一样掩耳盗铃,屏蔽掉错误,但是治标不治本!我们还是要解决这个问题,那么请看下面方法:

解决办法2:
问题代码:

session_start();

这样写,其实不是错的,只是缺少了判断,因为有些用户已经在本站录入了session,再次请求就会重复,php爆出这个警告提示,是为了避免更多问题以及性能和安全!
解决这个问题很简单,写个判断呗!
判断 如果session_id 不存在,说明没有储存, 打开session,否则。。。。不多说了,下面代码替换吧

if (!session_id()) session_start();

怎么样简单吧!快去试试吧!