什么是正确使用php.ini的session.save_path?

时间:2008-10-07 21:14:22

标签: php iis session session-variables

我在Windows / IIS上运行PHP。

我的会话变量似乎没有从页面到页面保留。

此代码......

//echos out the session variables in a nice format for inspection
echo "<p><pre>";
print_r($_SESSION);
echo "</pre></p>";

...输出空白值,就像这样......

    Array  
    (  
        [s_firstvar] =>  
        [s_var2] =>  
        [s_third] =>  
        [s_numberfour] =>  
        [s_youget] =>  
        [s_thepoint] =>  
        [] =>  
    )

我在论坛上找到了建议......

  

我最近遇到了类似的问题(Win2000,IIS),结果证明是PHP   没有对会话数据所在目录的写访问权限   存储在。你可能想看看这个。

  

你设置了session.save_path吗?

php.ini的session.save_path的正确用法是什么?那是我的问题吗?

2 个答案:

答案 0 :(得分:1)

你可以发布更多的会话代码吗?一些基础知识:

  • 你开始参加会议了吗? (session_start()
  • 您是否检查了您的保存路径是否具有适当的权限(OP中未提及)
  • session.save_path实际上只是将保存的会话目录。如果您使用的是共享服务,最好将其设置为与默认临时目录不同的目录(因为您的会话也会与其他应用程序的会话混合在一​​起,并可能导致会话冲突的可能性更大)
  • 如果您要更改会话配置(例如save_path,则必须在调用session_start()之前设置这些配置。

答案 1 :(得分:0)

糟糕。我发现在分配值时我没有使用正确的语法:

不起作用:

$_SESSION['$s_firstvar'] = 3;

工作:

$_SESSION['s_firstvar'] = 3;