php - php7 的 zend session 数据库错误

标签 php database session zend-framework php-7

我的应用程序需要使用数据库而不是文件来进行 session 管理。 我的应用程序基于 Zend Framework 1.12.17、php 5.6.25 和实际在 wampserver 上

这是我的config.ini

resources.session.use_only_cookies = true
resources.session.gc_maxlifetime = 864000
resources.session.remember_me_seconds = 864000
resources.session.gc_probability = 1
resources.session.gc_divisor = 100
resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
resources.session.saveHandler.options.name = "app_session"
resources.session.saveHandler.options.primary = "id"
resources.session.saveHandler.options.modifiedColumn = "modified"
resources.session.saveHandler.options.dataColumn = "data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"

当我要将php升级到php 7.0.10时,出现警告

Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (D:\wamp\www\myapp\top\session) in D:\wamp\www\myapp\top\library\versions\ZendFramework-1.12.17-minimal\library\Zend\Session.php on line 732

我正在寻找这个问题的根源。你有想法吗?

非常感谢

最佳答案

2016 年 9 月,Zend Framework 1 is reached EOL (生命尽头)。这意味着它不会再改进了。代码库太旧,无法很好地与 PHP 7 配合使用。

无论如何,您至少有两个选择:

  1. 在您的服务器上降级或并行运行 PHP 5.6 以支持古老的 ZF1 应用程序。
  2. 通过将 DbTable 处理程序扩展为 suggested here 来编写您自己的 session 保存处理程序.

关于php - php7 的 zend session 数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41491295/

相关文章:

php - MYSQL按顺序排列的位置

php - 我和 phpStorm 的文件路径正确,但在现实世界中是错误的

batch-file - 从批处理脚本在 MobaXterm 中启动 session

javascript - Meteor Session.get 和正则表达式

session - 在两个 Web 应用程序之间同步 session

php - Openssl 相当于 mcrypt_get_block_size

php - 如何保存经过处理的图像?

mysql - 无法在 MySQL 中选择包含星号的字段名称

java - OSGi:如何安全地共享 bundle 之间的连接

java - JComboBox:如何解决 JComboBox 和 ItemListener 中的异常