使用 PHPSessionHandler
可以SessionHandler::write()
返回一个值。该手册对此有些含糊:
返回值
返回值(通常
TRUE
在成功时,FALSE
在失败时)。请注意,此值在内部返回给 PHP 进行处理。
(界面相同)
我想知道PHP处理的含义是什么。
我已经很聪明了,但没有提到回调session_set_save_handler
的返回值。write()
使用 PHPSessionHandler
可以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 并查看会发生什么。检查控制台是否有任何警告。