http://bakery.cakephp.org/articles/view/quick-tip-doing-ad-hoc-joins-in-model-find
http://cakebaker.42dh.com/2007/10/17/pagination-of-data-from-a-habtm-relationship/
http://bakery.cakephp.org/articles/view/quick-tip-doing-ad-hoc-joins-in-model-find
http://cakebaker.42dh.com/2007/10/17/pagination-of-data-from-a-habtm-relationship/
一开始用的是php自动的传递sessionid,但是发现一个郁闷的问题:因为用的开发框架是cakePHP,而cakePHP的参数传递是这种形式的:
http://hulucat.com/action/param1:value1/param2:value2,即用“name:value”的形式在url中传参。然而,php的自动传递sessionid的方法应该是对“:”敏感(经过测试证实了这一点),当url中有冒号存在时,就不自动追加sessionid了。
因此,不得不放弃了php自动传递sessionid,改为依靠代码来传递:
最近在做一个wap项目,因此不能使用cookie保持session。
在尝试用cackephp自带的session保存方法失败后,开始设置cakephp core.php中Configure::write(‘Session.save’, ‘php’),即使用php原生的session保持方法。
php自带的session保存方法是cookie传递、session在服务器端保持在files里。因此需要对php.ini做如下修改:
1.
session.save_handler = memcache
session.save_path = “tcp://127.0.0.1:11211″
extension=memcache.so
即服务器端使用memcache保存session。具体方法就不多说了,可以google一下memchached+php
2.
session.use_only_cookies = 0
session.use_cookies = 0
即不使用cookie传递session。
如此修改后重启apache即可。
多说一句,我做了上述修改后出现了一个奇怪的现象,即cakephp管理的链接都出现了这样的错误:<a href=’?sessionId=aaa&sessionId=aaa’,即sessionId被追加了两遍,并且后面一遍用到的&不是&。经测试证明,这应该是cakephp的bug。
后来摸索,发现cakephp中core.php中关于database形式保存session的几项配置没有注释掉,注释掉就完全正常了,包括Configure::write(‘Session.start’, false)。