我想将创建的会话存储在根目录上的目录中,除非我使用以下任何一项:
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不会在第25行的/var/www/bootstrap/bootstrap.php中创建会话数据文件
警告:session_start():无法读取会话数据:第25行/var/www/bootstrap/bootstrap.php中的文件(路径:/var/www/public/../storage/sessions/)
谁能帮我?
编辑:我的服务器在PHP 7.1上运行
PHP要求会话文件由运行PHP的用户拥有.
然后chown -R www-data:www-data /var/www/storage/sessions/
由PHP用户运行自己的会话文件夹和文件(由www-data:www-data
PHP用户和组分隔:
).
您可以使用PHP方法get_current_user()
或在bash中运行,php -i | grep user
并找到在那里运行PHP的用户.