【发布时间】:2020-01-06 01:53:54
【问题描述】:
我想将创建的会话存储在根目录上方的目录中,除非我使用以下任何一种:
session_save_path($_SERVER['DOCUMENT_ROOT'] . '/../storage/sessions');
session_save_path($_SERVER['DOCUMENT_ROOT'] . '/../storage/sessions/'); // With an extra slash at the end
ini_set('session.save_path', $_SERVER['DOCUMENT_ROOT'] . '/../storage/sessions');
ini_set('session.save_path', $_SERVER['DOCUMENT_ROOT'] . '/../storage/sessions/'); // Again with the extra slash
这些方法中的任何一种都不起作用,每当我加载页面时,我都会收到以下错误:
警告:session_start():会话数据文件不是由您的 uid 创建的 在 /var/www/bootstrap/bootstrap.php 第 25 行
警告:session_start():读取会话数据失败:文件(路径: /var/www/public/../storage/sessions/) 在 /var/www/bootstrap/bootstrap.php 第 25 行
谁能帮帮我?
编辑:我的服务器在 PHP 7.1 上运行
【问题讨论】:
-
是linux用户权限错误;确保您能够读取/写入这些位置(文件夹应为 0755,文件应为 0644),并且您的用户有权读取这些位置。
-
我怎样才能知道哪个用户想要访问这些位置?并且更改权限是正确的?
-
我已经尝试了上述所有解决方案,更改文件夹文件夹,为会话创建另一个文件夹,通过 redis 管理会话,没有任何效果,这解决了我离开 session.auto_start = 1 的问题表示启用,在 php.ini