我遇到奇怪的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类更加健壮。
答案 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模块。