会话处理程序写操作返回值


Session Handler Write Operation Return Value

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,看看会发生什么。检查控制台是否有任何警告。