【问题标题】:session_name breaks my site?session_name 破坏了我的网站?
【发布时间】:2025-12-05 18:45:02
【问题描述】:

阅读 PHP 手册后,我在代码中添加了session_name('mysite');,以确保如果我将来运行多个应用程序时不会发生会话之间的冲突。

不幸的是,session_name()-function 调用它完全杀死了我的网站。抛出了一个致命错误(出现在错误日志中,但没有说明任何内容!)并且浏览器中显示以下错误:

我在新安装的 Ubuntu VM 上运行 PHP-FPM 和 suhosin+nginx。 我做错了什么?

【问题讨论】:

  • 看到会话处理程序导致502,我会感到惊讶。
  • mysite 真的可以是mysite.com 吗?根据this comment,它会破坏一切。
  • 嗨!不 - 只使用字符 a-z
  • @maggie 不确定你想告诉我什么。 mysite 显然是一个占位符,所以人们可能会认为他不小心使用了主机名。当然. 不是字母数字。仅仅因为文档提到了它,它并不能使任何人万无一失。

标签: session nginx php


【解决方案1】:

正如 session_name doc page 上的 cmets 所指出的,session_name 存在一些问题可能会导致您的网站崩溃:

  1. 确保您先致电session_name在其他任何事情之前,包括session_start
  2. 确保您的会话名称中没有句点(即:不要使用“mysite.com”作为您的会话名称)

【讨论】:

  • 嗨,布赖恩!是的! session_name 是我脚本中被调用的第一行,它只包含字符 a-z
  • session.name specifies the name of the session which is used as cookie name. **It should only contain alphanumeric characters**. 句号不是字母数字字符en.wikipedia.org/wiki/Alphanumeric
  • 我认为这正是布赖恩所说的 :)