session_start(): Failed to initialize storage module 解决办法

发布时间:2013-01-28 06:33:25

 

后台登陆不了,报错如下:Failed to initialize storage module。
 
解决方法有两种如下:
 
1。在报错的文件里的session start();之前加入如下代码:ini_set(‘session.save_handler’, ‘files’); 。这种方法适合租用空间的用户使用。
 
2。在php.ini文件里,显式指定session的save_path(比如 c:/temp)然后重启web服务。如果服务器的管理权限属于你,那还是这样改比较方便。
 
原因分析:php5一个安全模式的bug,默认session的save_path是系统的临时目录,这样会要校验权限。
 
Fatal error: session_start(): Failed to initialize storage module: user (path: /tmp) in /home/***.php on line 1 
从错误看来是系统临时目录/tmp无法保存session文件的问题,
原则上我们可以直接修改php.ini中的session.save_handler值从’user’到’files’。但是在虚拟空间里通常都没有修改权限。这是我的解决办法:
if(!is_dir(’./tmp/’))mkdir (’./tmp/’, 0700);
session_save_path(’./tmp/’);
session_start();
直接在session_start前面增加上面的内容。
或者打开php.ini中的seession.path指定有权限的路径。
php