将网站的 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/