今天在做一个网站的登录功能时,php报错啦,它竟然报错了。那么就开启调试模式,找原因。
PHP报错代码及原因
A session had already been started - ignoring session_start()
以面的错误代码表示:已经有一个存在并打开的 session 要忽略 session_start()
翻译成白话的意思就是:session_start() 被重复调用
解决方法
解决方法1:
修改 php.ini 的配置,在php.ini 查找如下的代码
session.auto_start
并修改成
session.auto_start = 0; // 0表示关闭 1表示打开
我们这里不需要自动开启 session,所以设置为0将其关闭。
注:这种方式治标不治本,如果程序在以后的移植,可以会再次出现同样的错误
解决方法2:
利用判断是否存在 session_id 的方法,来确定是否打开 session
if (!session_id()) session_start();