正如我们所知,每个用户的会话变量 $_SESSION 都是不同的。我想知道像 $_SERVER 这样的服务器变量的范围。我正在我的 RestFul API 中进行 http 身份验证。如果我设置$_SERVER['PHP_AUTH_USER']
,会为 1 个用户或所有访问我的服务器页面的用户设置吗?
谢谢
正如我们所知,每个用户的会话变量 $_SESSION 都是不同的。我想知道像 $_SERVER 这样的服务器变量的范围。我正在我的 RestFul API 中进行 http 身份验证。如果我设置$_SERVER['PHP_AUTH_USER']
,会为 1 个用户或所有访问我的服务器页面的用户设置吗?
谢谢
这将只为当前用户设置,但你为什么不使用 $GLOBALS 而不是 $_SERVER?
$GLOBALS — 引用全局范围内可用的所有变量
对于这样的任务,这个超全局数组比 $_SERVER 更合适。请注意,请求完成后 $GLOBALS 或 $_SERVER 不会保存其数据。因此,如果您想将一些数据从一个请求保留到另一个请求,您应该使用 $_SESSION。
PHP 中的会话支持包括一种在后续访问中保留某些数据的方法。这使您能够构建更多定制的应用程序并增加您网站的吸引力。
访问您的网站的访问者被分配一个唯一的 id,即所谓的会话 id。这要么存储在用户端的 cookie 中,要么在 URL 中传播。
这意味着在用户之间是不同的,因为每个用户的会话 ID 不同,并且会话允许用户访问所有者关联数组
为 $_SERVER 设置的值在RAM上并且没有存储在文件或数据库中,并且在请求完成后从RAM中删除。对于像在用户在线期间保存变量这样的工作,您可以使用 $_SESSION 但如果您想为所有用户保存变量,您可以使用数据库