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

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

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被打开了 -- 忽略sessioon_start();
废话不多说,解决问题是关键,切入解决方法:
解决办法1: 在php.ini 中 修改成

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

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

解决办法2:
问题代码:

session_start();

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

if (!session_id()) session_start();

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

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值