PHP 会话已创建但返回 NULL
P粉573809727
P粉573809727 2024-02-25 18:52:10
0
1
356

我认为这是 /tmp 上的权限问题,但我似乎找不到解决方案。

我正在使用 PHP 创建一个注册和登录页面;我可以看到,当用户登录时,会话数据被传递到 /tmp 文件夹,但是当他们重定向到 home/index 页面时,会话数据返回 NULL。

我使用以下内容来验证正确的路径是否具有权限:

<?php

    var_dump($_SESSION);
    if (!is_writable(session_save_path()))
    {
            echo 'Session path "'.session_save_path().'" is not writable for PHP!'; 
    }
    else
    {
        echo 'Session path "'.session_save_path().'" is writable for PHP!'; 
    }

?>

我最终得到:

NULL Session path "/var/lib/php/sessions" is writable for PHP!

检查文件夹,我可以看到会话数据保存到 /tmp,因此它肯定是可写的。

所以我最好的猜测是 start_session() 有写入 /tmp 的权限,但没有读取的权限?但这对我来说没有任何意义。

检查我得到的 var/lib/php/sessions 中的权限(示例):

drwx-wx-wt 2 root root 151552 Dec 22 05:09

将文件夹的权限更改为:

-rw-rw-rw-

造成任何安全或其他功能问题吗?

P粉573809727
P粉573809727

全部回复(1)
P粉665427988

我认为这会解决您的问题

然后

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!