php - 无法在我的代码中设置 session.save_handler

标签 php session ini-set

将网站的 PHP 版本升级到 7.3 后,我开始收到此错误消息:

Recoverable fatal error: ini_set(): Cannot set 'user' save handler by ini_set() or session_module_name()

经过我的调查,我发现问题出在这一行:

ini_set('session.save_handler', 'user');

正如我在 php.ini 中看到的,默认值是“files”。我尝试将值更改为文件,但它是相同的。在 PHP 7.1 之前,一切正常,但在 PHP 7.2 和 PHP 7.3 上,我遇到了这个问题。我真的不明白为什么这个功能不起作用。它不会返回任何错误,只是返回一个带有代码 200 的空白页(而不是服务器错误 500)。

如何解决这个问题?

最佳答案

PHP 7.2 放弃了使用 ini_set() 将 session 保存处理程序更改为“用户”的功能。

使用session_set_save_handler()相反,将 callable 传递给它充当 session 保存处理程序的参数。

您可以在changelog中找到该公告:

Improved bug #73100 fix. 'user' save handler can only be set by session_set_save_handler()

关于php - 无法在我的代码中设置 session.save_handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785829/

相关文章:

php - 如何检查表中是否存在元素(mysql)

java - isNew() 如何判断 session 是新 session 还是已在使用中?

session - 根据Kibana中的日志文件计算 session 持续时间

PHP ini_set session gc_maxlifetime 不工作

php - codeigniter - 无法删除或修改数据库

php - 从 PhpMyAdmin 获取最大年份的记录

php - 进行多种语言的翻译

javascript - NodeJS - 没有 Express 的 session 处理

sendmail - PHP:带有用于 SMTP 和 SMTP_PORT 的运行时 ini_set() 的 mail() 函数在 Linux 上不工作

php - 日期格式时区问题