会话无法启动且服务器变量不正确

时间:2011-11-23 12:41:26

标签: php http

我正试图以这种方式开始会话:

session.auto_start = 1

我这样设定。会话无法启动。我改变了我的PHP开始如下:

ini_set("session.use_only_cookies",true); 
session_save_path(dirname(__file__)."/../User");

基本上,我没有看到在该文件夹中创建的任何文件。

当我这样做时:

$id=session_id();

我得到$id=0;

为什么所有这些错误都会发生?

1 个答案:

答案 0 :(得分:2)

  

我正试图以这种方式开始会话:

     

session.auto_start()

你在哪里以及如何做到这一点?我希望不在代码中?它是php.ini setting,如果您想启用它,则必须在那里进行。

  

我在php中更改了以下内容:

  ini_set("session.use_only_cookies",true); 
  session_save_path(dirname(__file__)."/../User");
     

基本上,我没有看到在该文件夹中创建的任何文件。

运行PHP的用户是否拥有该文件夹的权限?你有没有把你的PHP文件排序在更深的文件夹中,“(目录)../用户”不存在?您是否尝试过回显路径以查看其指向的位置?你试过在那里手动编写文件吗?如何使用realpath()

  

当我这样做时:

$id=session_id();
     

我得到id = 0;

这是一个症状。您的会话无法启动,因此无法获取会话ID。

  

$ OS = $ _ SERVER [ 'SERVER_SOFTWARE'];   我试图获得操作系统而我什么都没得到。

你得到了什么?试过var_dump($os)

  

当我尝试这样做时:$ browser = $ _SERVER ['HTTP_USER_AGENT'];我的浏览器很奇怪。

     

Mozilla / 5.0(Windows NT 5.1)AppleWebKit / 535.2(KHTML,与Gecko一样)Chrome / 15.0.874.121 Safari / 535.2

“奇怪的浏览器”是Chrome 15.有什么奇怪之处?

请启用错误报告,因为我确定会有一些提示。