当前位置:首页 > 编程开发 > PHP > 正文内容

阿里云虚拟主机 session_start(): Failed to initialize storage module 解决办法

Codefans4年前 (2021-10-30)PHP1821

今天更新了一下自己的代码框架时,然后后台就提示登陆不了,报错如下: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();

如果是阿里云虚拟主机,还要到虚拟主机管理平台中“php.ini设置”,开启“输出缓冲区数据块设置

直接在session_start前面增加上面的内容。
或者打开php.ini中的seession.path指定有权限的路径。

扫描二维码推送至手机访问。

版权声明:本文由图慧网发布,如需转载请注明出处。

本文链接:http://www.tuh8.com/?id=21

分享给朋友:

“阿里云虚拟主机 session_start(): Failed to initialize storage module 解决办法” 的相关文章

mysql 中 find_in_set使用方法(细节)

MySQL手册中find_in_set函数的语法解释:FIND_IN_SET(str,strlist)str 要查询的字符串 strlist 字段名 参数以”,”分隔 如 (1,2,6,8,10,22) 查询字段(strlist)中包含(str)的结果,返回结果为null或记录假...

Nginx/Apache支持PATH_INFO模式

默认情况下,nginx和apache是不支持path_info的,我们需要做些配置让它支持。首先需要启用cgi.fix_pathinfo——修改php配置文件php.ini,将;cgi.fix_pathinfo=1前面的冒号;去掉,重启php服务。然后再配置Nginx或Apache。Nginx配置说...

解决PHP中json_encode自动编码中文的问题

第一种:PHP版本高于5.4时,可以使用官方提供的方法,在括号内加一个参数JSON_UNESCAPED_UNICODE$data = json_encode($msg,JSON_UNESCAPED_UNICODE);第二种:所有版本可用方法,具体解决方法就是先将中文编码成url编...