我在我的应用程序上实现SessionHandler类时遇到了很大的问题。
不幸的是,我被困在5.3.3版本上而且我无法升级到更新的版本,因为我们的服务器必须使用该版本。
有没有其他解决方案来实现SessionHandler类?
通过查看文档,SessionHandler需要min 5.4版本。
感谢。
答案 0 :(得分:1)
是的,直到PHP 5.4才在PHP中实现SessionHandler
接口。不幸的是,PHP 5.3 reached its end of life超过2年前。如果您正在使用PHP 5.6.0之前的任何内容,那么您现在使用的PHP版本将不再接收更新或支持。因此,您将无法利用PHP的新版本和当前版本提供的这些新功能。
SessionHandler
接口是暴露给userland PHP的唯一接口,允许您直接挂钩PHP的会话处理程序。在此之前,您必须将自己的自定义会话处理代码编写为C扩展,以将其注册为PHP用于处理会话的session_save_handler
之一。
由于您没有直接接口,因此您不得不在不受支持的PHP版本中临时执行此类操作。即直接从会话存储中读取,手动反序列化,编写自己的包装器,然后序列化并写回存储位置。
这意味着您无法利用PHP的任何内置功能来依赖这样做,例如session_start()
,session_write_close()
或{{1超级全局变量。您必须在自己的PHP代码中包含所有这些内容,并且将强制在您的应用程序代码中调用您自己的PHP抽象来处理会话调用。