zen cart自定义了session的处理函数,session_save_path设在了/cache/文件夹,在include /configure.php里有个选项define(’STORE_SESSIONS’, ‘db’); // use ‘db’ for best support, or ” for file-based storage 设置session的保存方式。
不同的程序间要想共享session数据,至少要遵循以下几个条件:session_save_path 相同,session_id相同,当然session的保存方式肯定要一样,php默认的session保存方式就是文件存储,而保存目录就在系统的临时目录。
这里我们要想zencart读取到我们自己定义的session变量,就需要我们在自己的程序里把session的存储目录放到zc目录下的cache文件夹,例如 session_save_path(’e:/zc/cache’),然后修改zc/include/configure.PHP文件中 define(’STORE_SESSIONS’, ‘db’); 修改为 define(’STORE_SESSIONS’, ”);这样就让zen cart的session也以文件形式存储,就可以实现自定义session的共享了!
以上的原理适用于其他类似的不同程序间session共享的问题,其实 zen cart中使用自定义session的最简单的方法是直接在自己的程序最顶部require进来zen cart 的application_top.php即可.