PHP的SessionHandler
有一个返回值的SessionHandler::write()
。手册对此有些模糊:
返回值(通常成功时为
TRUE
,失败时为FALSE
)。注意,这个值会在内部返回给PHP进行处理。
(接口也一样)
我想知道PHP的处理是什么意思。
我已经很聪明了,并且研究了session_set_save_handler
,但是在那里 write()
回调的返回值甚至没有提到。
在这种情况下,"内部返回到PHP"意味着:它是而不是传递回你的代码(因为session_write_close()
的返回类型是void
)
换句话说,PHP用它做什么应该被视为未知(除非你查看PHP的实际C源代码);因此,我将简单地遵循在成功时返回true
的建议,如果您的自定义会话处理程序不知怎么地无法写入会话数据,则返回false
。
如果要我猜的话,我会说可能PHP会生成一个警告消息,或者这个列表只是打算在以后的PHP版本中使用。
找到的方法是简单地覆盖SessionHandler::write()
总是返回false,看看会发生什么。检查控制台是否有任何警告。