$_SESSION 变量 - session_start() 有什么影响吗?
$_SESSION variables - does session_start() have any impact?
在某些情况下,某些功能早期使用 session_start()
(主要是 CMS 平台中的插件)。
我有一个问题 - 会话的开始是否会对整体产生负面影响 application/CMS?
我问这个是因为我记得调用类似的函数(如 ob_start()
、ob_end()
等)很重要,我想知道是否同样适用于 session
函数同样,如果它们在全球范围内有任何负面影响。 (我最感兴趣的只是负面影响)。
如果没有 session_start()
,请求完成后对任何会话的任何更改都将丢失,除非您的系统设置为自动启动会话。不开始就使用会话是没有意义的。
重要的部分是在调用 session_start()
之前检查会话是否已经开始。如果它已经启动,您会收到警告 "session already started".
一种方法是像这样使用 session_status()
:
if (session_status() === PHP_SESSION_NONE) {
// Session isn't started, let's start it.
session_start();
}
开始会话实际上并没有任何负面影响,除非一些 library/extension 以一些非常非正统的方式使用会话(但实际上可以说是任何事情)。
在某些情况下,某些功能早期使用 session_start()
(主要是 CMS 平台中的插件)。
我有一个问题 - 会话的开始是否会对整体产生负面影响 application/CMS?
我问这个是因为我记得调用类似的函数(如 ob_start()
、ob_end()
等)很重要,我想知道是否同样适用于 session
函数同样,如果它们在全球范围内有任何负面影响。 (我最感兴趣的只是负面影响)。
如果没有 session_start()
,请求完成后对任何会话的任何更改都将丢失,除非您的系统设置为自动启动会话。不开始就使用会话是没有意义的。
重要的部分是在调用 session_start()
之前检查会话是否已经开始。如果它已经启动,您会收到警告 "session already started".
一种方法是像这样使用 session_status()
:
if (session_status() === PHP_SESSION_NONE) {
// Session isn't started, let's start it.
session_start();
}
开始会话实际上并没有任何负面影响,除非一些 library/extension 以一些非常非正统的方式使用会话(但实际上可以说是任何事情)。