Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储会话和并发_Php_Multithreading_Concurrency - Fatal编程技术网

Php 存储会话和并发

Php 存储会话和并发,php,multithreading,concurrency,Php,Multithreading,Concurrency,我对存储会话和让多个用户同时登录有点困惑…会话密钥必须是唯一的还是唯一的值?如果所有$userid都是唯一的,那么这样可以吗 //if the user logs in: $_SESSION['loggedIn'] = $userId; 在测试过程中,如果两个用户同时使用单独的$userid登录,并试图将数据输入数据库,则会导致错误。钥匙应该是随机的吗?此时不担心安全性。$\u会话存储在服务器端,这不是跟踪用户的好方法,因为会话可以在短时间不活动后终止。如果可能的话,你最好使用cookies

我对存储会话和让多个用户同时登录有点困惑…会话密钥必须是唯一的还是唯一的值?如果所有$userid都是唯一的,那么这样可以吗

//if the user logs in:
$_SESSION['loggedIn'] = $userId;

在测试过程中,如果两个用户同时使用单独的$userid登录,并试图将数据输入数据库,则会导致错误。钥匙应该是随机的吗?此时不担心安全性。

$\u会话存储在服务器端,这不是跟踪用户的好方法,因为会话可以在短时间不活动后终止。如果可能的话,你最好使用cookies


但是为了解决您的具体问题,您的代码应该可以工作,因为会话几乎总是唯一的。

会话向量是PHP的[session management]的一部分:

PHP中的会话支持包括在后续访问中保留某些数据的方法

它基本上让您以每会话的方式存储信息,并在同一会话的后续调用中检索相同的信息

每个会话都有自己的数据集

PHP使用cookie或POST/GET参数来标识每个会话,从而确定当前调用是否是现有会话的一部分,并向您提供在以前的调用中存储的数据

session_start()根据通过GET或POST请求传递或通过cookie传递的会话标识符创建会话或恢复当前会话

有关更多信息,请参阅手册中的以下主题:


请添加您所指的具体错误。可能只是浏览器缓存,但当我作为两个不同的用户在两个不同的浏览器上登录时,当我在帖子上输入评论时,它没有在另一个浏览器上更新。您认为如果我作为一个用户打开站点,两个不同的浏览器/计算机/设备,服务器将在我(作为用户)进行的不同调用之间共享一个会话?我不这么认为!不,恰恰相反。每台计算机将有一个单独的会话。@Kevin即使更新了答案,您仍然错了。因为我可以在同一台计算机上打开两个浏览器,但仍然有不同的会话。事实上,使用PHP,如果禁用cookies,我可以在一个浏览器中拥有不同的会话!!!