【问题标题】:$_SESSION not saving$_SESSION 不保存
【发布时间】:2015-04-14 01:01:42
【问题描述】:

$_SESSION 没有保存,好像路径不可写。权限为:755,在 phpinfo(); 中表示会话已启用

<?php

    session_start();
    ob_start();

    if(isset($_GET["logout"])){
        unset($_SESSION["userid"]);
        header("Location: index.php");
        die();
    }

    if(isset($_POST["username"]) && isset($_POST["password"])){
        $_SESSION["userid"] = 1;
        header("Location: index.php");
        die();
    }

    $uid = 0;
    if($_SESSION["userid"] && $_SESSION["userid"]>0){
        $uid = $_SESSION["userid"];
    }

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

    echo $uid;

?>

$uid 始终为 0。

我收到Session path "" is not writable for PHP!

【问题讨论】:

  • 检查您的 PHP 错误日志 -- 是否有任何关于 headers already sent 的警告?
  • @Barmar 不,没有:(
  • 可能是您的 php.ini 会话设置不正确,它是共享服务器吗?无论如何检查 php.ini 中的 session.save_path 还检查会话目录是否可写
  • 什么路径不可写? 755 表示只对所有者可写,路径的所有权是什么?
  • 您是否尝试将 save_path 的值显式设置为您知道执行脚本的用户可写的目录,而不是仅使用默认值?

标签: php session session-variables session-cookies


【解决方案1】:

我发现了问题,问题在于它是共享服务器内部域中的域,也许这就是它与 $_SESSIONS 存在问题的原因,我刚刚做了什么,将它托管在该共享服务器的根域中。现在它确实起作用了。

【讨论】:

    猜你喜欢
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    相关资源
    最近更新 更多