zend 框架的sessions要求php.ini的session配置是:
session.auto_start = 0 // 0是关闭 1是打开
如果项目的ZEND框架报session has already been started by session.auto-start or session_start(),首先检查一下你的php.ini的配置是不是:
session.auto_start = 1 // 0是关闭 1是打开
如果是请找到配置文件php.ini后,手工改成:
session.auto_start = 0 // 0是关闭 1是打开
关于如何查看session.auto_start的值 ,可以写一个test.php测试文件,打印出phpinfo,找到session.auto_start该项配置值及php.ini的路径
一般用上面这种方法是就可以解决这个报错了,但也有配置文件里本来就是
session.auto_start = 0 // 0是关闭 1是打开
了,还是报错,这时可以检查一下,Zend框架保存session数据的目录是不是有写权限,经测试没有写权限也会报这个错,如果没有写权限,手工加上写权限就可以了
我的情况就是因为session缓存目录没写权限报错了,折腾了半个小时才找到真正原因,有点坑,引以为戒!
如有问题,欢迎大家留言沟通,点赞支持!!!