关于PHP会话

关于PHP会话,php,session,Php,Session,我有一个文件,里面有这个代码 session_start(); session_register("name"); $name = "test"; 当我在chrome中看到cookies时,它说这是在根文件夹中 我这里的问题是,这个会话在本地主机的xampp中保存在哪里?我的会话在go daddy共享主机中保存在哪里 如果我有session_start()$_会话['id']=“一些值”,我可以在所有的页面中使用这个值,这是我从阅读会话中了解到的,如果我错了,请纠正我 我在共享主机中使用

我有一个文件,里面有这个代码

 session_start();
 session_register("name");
 $name = "test";
当我在chrome中看到cookies时,它说这是在根文件夹中

我这里的问题是,这个会话在本地主机的xampp中保存在哪里?我的会话在go daddy共享主机中保存在哪里

如果我有session_start()$_会话['id']=“一些值”,我可以在所有的页面中使用这个值,这是我从阅读会话中了解到的,如果我错了,请纠正我


我在共享主机中使用了它,但是当我在另一个页面中调用session变量时,它是空的,我不知道我的主机是否具有会话保存写入权限,或者它可能为空的原因是什么。

会话存储在服务器上,但会话ID作为一个长随机ID存储在用户计算机上。用户无法编辑会话,但他们可能能够窃取会话ID并在未经授权的服务器上使用它帐户


您可能在php.ini中将register_globals设置为1。强烈建议您关闭此选项,因为它可能被恶意使用,但这可以解释为什么设置$name也可以设置$\u会话['name']。它基本上允许从该点设置所有变量。

您需要将新值另存为

$_SESSION['name'] = "test";
$\u会话['name']
不等于
$name

因此,将值保存为
$name=“test”将不会保存在
$\u会话['name']

您必须调用session_start();在每个页面上检索保存的会话,并将其从一个页面按比例分配到所需页面。或者在php.ini文件中将其设置为/1(不推荐)

$\u会话
变量存储的位置由PHP的“
会话.保存路径
”配置决定。在Linux/Unix系统上,这通常是“
/tmp
”。如果无法100%确定,请使用phpinfo()函数查看特定设置,方法是在域的DocumentRoot中创建包含以下内容的文件:

<? phpinfo() ?>

查看下面的链接了解更多详细信息


会话作为一个名为例如1234的文件保存在服务器中。这是一个文本文件。它保存在php.ini可配置的路径中


客户端保存cookie。cookie的内容等于sessione文件1234的名称。每个请求的borwser发送cookie内容,以便服务器读取cookie内容并检查是否存在相应的会话。对于使用会话时出现的问题。。。为我们提供更多的代码

要使用会话,您需要执行以下操作:

session_start(); 
然后你可以做:

$_SESSION['id'] ="some value";
并使用它:

$id = $_SESSION['id'];

是一个不推荐使用的函数,您不应该使用它。无论如何,您使用它的顺序是错误的(您最不应该对值执行的操作是注册它,您正在注册一个空值
$name
变量)。

会话保存有两种设置:

  • 在共享内存中
  • 在文件中
  • 对于文件,您可以访问会话数据,而对于内存,您不能访问会话数据

    要访问会话数据,请使用此函数获取文件夹路径
    session_save_path()

    注意:-主机保护这些类型的文件夹,使其无法直接访问

    还要检查会话设置是否在文件夹或内存中,请检查
    phpinfo()


    如果选择了文件,您可以通过相同的函数
    session_save_path()显式更改路径请检查:

    使用Go Daddy 4GH,默认情况下,会话将保存到与/html目录处于同一级别的/tmp目录。您可以使用以下步骤找到此操作的完整路径

    找到你的绝对托管路径

    1. Log in to your Account Manager.
    2. Click Web Hosting.
    3. Next to the hosting account you want to use, click Launch.
    
    在服务器部分,将显示您的托管帐户的绝对托管路径

    如果您不想在此处保存会话,可以在php.ini文件中或在脚本中使用session_save_path()函数进行更改


    有关XAMPP堆栈的信息,请查看

    您需要在要使用会话值的每个页面中调用session_start():我选中了它,我的session_save_路径表示没有值,这是什么意思?