PHP 中的 session_start() 函数真的毫无意义吗?
网上有人说,在操作 PHP 中的 $_SESSION 数组之前,必须调用 session_start() 函数,启用会话功能。然而,你发现直接操作 $_SESSION 数组似乎并没有问题。那么,session_start() 函数是不是毫无意义?
答案
session_start() 函数的作用是在服务器端启动一个会话。当首次访问一个需要使用会话的 PHP 页面时,会自动调用该函数。不过,这个自动调用的行为取决于 PHP.INI 配置文件中的 session.auto_start 设置:
- 如果 session.auto_start = 1,则首次访问时自动调用 session_start()。
- 如果 session.auto_start = 0,则需要手动调用 session_start()。
如果你发现即使没有调用 session_start() 也可以访问 $_SESSION 数组,可能是因为你的 PHP.INI 配置文件中的 session.auto_start 设置为 1。在这种情况下,session_start() 函数实际上是在你访问 $_SESSION 数组之前自动调用的。