我想完全禁用PHP会话,但要透明地编写代码。
也就是说,使session_start()
成功返回,$_SESSION
存在,并在单个请求中工作,即单个请求可以从该全局读取/写入,但随后数据在请求结束时丢弃,没有传递会话变量或cookie,PHP不会尝试将其存储在磁盘或其他任何地方等等。
我在一个地方读到使用gc_lifetime为0的文件会话处理程序,但在其他地方说这不起作用。我想知道是否有一个无操作的“处理程序”或类似的东西,这是最好/正确的方法。
我更喜欢只使用php.ini的解决方案,但如果这是唯一的方法,那么PHP内的解决方案是可以接受的吗?
答案 0 :(得分:0)
如何在php.ini文件中使用auto_append_file指令:
http://php.net/manual/en/ini.core.php#ini.auto-append-file
然后在追加文件中添加kill code session_destroy()\ unset
答案 1 :(得分:0)
PHP允许您插入负责存储和加载会话的SessionHandler。您可以通过使所有会话处理程序函数NOP来禁用会话保留。用户仍将收到会话cookie(因为PHP不知道任何不同),但这可能是可以接受的,具体取决于您的用例。
在运行任何使用会话的代码之前,使用auto_prepend_file
设置会话处理。