一种生成自定义会话ID而无需编辑php.ini的方法

时间:2011-10-16 09:37:27

标签: php session

我正在尝试创建自定义会话ID生成器。根据我在网站上阅读的内容,您可以通过手动编辑PHP的设置文件来完成此操作,但是,在我从共享服务器切换到完全可自定义的服务器之前,它将无法使用。

我想问的是,是否可以通过向页面输入PHP代码来指定会话ID的生成方式?我的目的是使用与默认ID生成器相同的机制,但使用sha512和一些自定义的东西,比如salt。

1 个答案:

答案 0 :(得分:9)

如果在调用session_id()之前将字符串传递给session_start()函数,则可以自己设置会话ID。例如:

function generate_id() {
  ...
  return $your_id;
}

session_id(generate_id());
session_start();