是否有任何机构有关于如何集成基于cookie的会话系统的任何信息/链接?我使用过file / mysql,目前正在使用memcached。我想玩apc会话,但我想我会去做一些饼干,只是我不太了解它。
我想我必须编写自己的会话处理程序类?
答案 0 :(得分:5)
在PHP会话中,数据通常存储在一个文件中。存储在cookie中的唯一内容是会话标识符。当启用会话并找到有效的会话cookie时,PHP会将用户会话数据从文件加载到一个名为funnily的SESSION超级全局中。
在将任何文本发送到浏览器之前,使用session_start();
启动基本会话。然后使用简单的数组索引例如。
$_SESSION['favcolour'] = 'blue';
...后
$favcolour = $_SESSION['favcolour'];
只需调用即可创建基本cookie会话(无本地存储)
set_cookie('favcolour','blue'[,other params]);
在将任何文本发送到浏览器之前,然后从cookie超全局
中检索$favcolour = $_COOKIE['favcolour'];
如果只进行cookie会话,则无需致电session_start()
。
可选[,其他参数]更高级,可在此处阅读http://www.php.net/manual/en/function.setcookie.php
会话可以成为一个非常复杂的讨论,我建议做一些简单的工作,然后扩展你的知识。
DC
你想知道的关于PHP会话的所有内容
http://www.php.net/manual/en/book.session.php
DC
要重用PHP的会话处理代码,您需要使用session_set_save_handler
添加写处理程序,然后在该处理程序中完全不执行任何操作。那是因为它在关闭浏览器的输出后被调用,因此你无法向浏览器发送任何内容。
在将非标题数据写入浏览器之前,请使用set_cookie函数并将$ _SESSION数组的内容(在序列化和加密后)存储到cookie中。当应用程序启动时,您可以读取cookie,然后将其放入$ _SESSION数组中。
这是我从未做过的快速提示,我更喜欢写自己的cookie代码。可能会有一些问题,但一些测试应该找到任何问题并不难。
DC