从PHP5.4.x开始的Sessions问题

时间:2013-03-08 00:11:01

标签: php session rackspace symphony-cms

我遇到奇怪的Sessions错误,遗憾的是我无法在本地重现。在我的日志文件中,我在查看引用this file

的页面时随机收到以下错误
session_start(): user session functions not defined on line 84 of file /var/www/vhosts/example.com/symphony/lib/core/class.session.php

从我所看到的,这个Session处理程序看起来相当标准,所以我很困惑为什么这是一个错误?

实时环境托管在Rackspace上,是运行PHP 5.4.6(PHP 5.4.6-1ubuntu1.1 (cli) (built: Nov 15 2012 01:18:34))的负载均衡器后面的两个服务器。据我所知,我们有两个数据库服务器,其中一个配置为写入,另一个读取(通过Rackspace)。

我的本​​地环境更简单,PHP 5.4.10只有一个数据库,所以虽然我认为环境可能起作用,但我对如何为客户端最重要的问题解决这个问题非常感兴趣,因此可以使Session类更加健壮。

1 个答案:

答案 0 :(得分:1)

Brendo,您评论ini_set('session.save_handler', 'user')时收到的错误很可能是因为您没有安装PHP memcache模块。如果Rackspace将服务器配置为将会话保存到memcache服务器,则可能需要通过修改php.ini文件或memcache.ini文件来启用PHP memcached模块,以使session.save_handler = memcached代替session.save_handler = memcache

如果上述方法不起作用,您可以通过运行dpkg -l | grep memcache来检查是否安装了其中一个PHP模块,以查看是否返回了其中一个PHP模块。