最近使用thinkphp5.0突然出现这个问题:session_start(): Failed to initialize storage module: user 问题排查和解决
1、在报错的文件里的session start();之前加入如下代码:ini_set(‘session.save_handler’, ‘files’); 这种方法适合租用空间的用户使用。
2、在php.ini文件里,显式指定session的save_path(比如 c:/temp)然后重启web服务。如果服务器的管理权限属于你,那还是这样改比较方便。
3、因为数据和session等缓存在redis里,redis挂了,所以会出现这个问题,重启下redis等缓冲服务器即可
4、原则上我们可以直接修改php.ini中的session.save_handler值从’user’到’files’。但是在虚拟空间里通常都没有修改权限。还可以这样:
在PHP程序里:
if(!is_dir(’./tmp/’))mkdir (’./tmp/’, 0700);
session_save_path(’./tmp/’);
session_start();
直接在session_start前面增加上面的内容。
或者打开php.ini中的seession.path指定有权限的路径。