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

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

Codefans4年前 (2021-10-30)PHP1886

今天更新了一下自己的代码框架时,然后后台就提示登陆不了,报错如下: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 解决办法” 的相关文章

php中命名空间(namespace)的作用和使用

php中命名空间(namespace)的作用和使用

1.命名空间的作用:在PHP中函数、类、常量是不允许同名的。为了解决这三者的同名问题,所以出现了命名空间. 其实不仅仅是php,其他语言也有类似的使用。比如JavaScript中:我们来详细的讲解一下PHP中的命名空间:语法:namespace 空间名\空间名;说明: 用于定义空间名;如果一个php...

phpexcel导出文件内容空白或错误原因之一(存在乱码字符)的解决办法

public function illegal_unicode($str='') {     $txtcode=explode('\u',str_replace("\""...

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

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