PHP配置以启用会话

时间:2010-09-18 07:42:07

标签: php session phpinfo

在我们的开发服务器上,会话处理工作正常。在我们的生产服务器上,它没有。

开发服务器上的

phpinfo显示:

                 session
Session Support                 enabled
Registered save handlers            files user mm sqlite
Registered serializer handlers  php php_binary wddx 
生产服务器上的

phpinfo显示:

                 session
Session Support                    enabled
Registered save handlers          files user
Registered serializer handlers  php php_binary wddx 

什么是“mm sqlite”并且可能导致问题?我如何启用此功能?无论如何,这些设置是什么?


其余设置在两者之间是通用的:

Directive   Local Value Master Value
session.auto_start  Off Off
session.bug_compat_42   On  On
session.bug_compat_warn On  On
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly Off Off
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    no value    no value
session.entropy_length  0   0
session.gc_divisor  100 100
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.hash_bits_per_character 4   4
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /tmp    /tmp
session.serialize_handler   php php
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   0   0

从开发转向生产时,缺少“mm sqlite”会阻止PHP会话的运行吗?

2 个答案:

答案 0 :(得分:5)

取自http://devzone.zend.com/article/141

有几个用于存储会话数据的内置选项。会话处理程序在名为

的指令下的php.ini中设置
session.save_handler

<强>源码 (可选)您可以将会话数据存储在sqlite数据库中。为此,请使用以下配置:

session.save_handler = sqlite
session.save_path = /tmp/phpsess.db

<强>毫米 对于高性能会话存储,您可以使用mm共享内存模块将会话数据存储在内存中。您需要使用mm模块支持编译php。以下是使用mm(http://www.zend.com/tips/tips.php?id=164&single=1)配置会话处理的教程。请注意,由于会话日期存储在RAM中,因此您应该将其视为易失性数据,并且在断电或重新启动时会丢失。

注意:上述教程中的链接已过时。您可以从OSSP.org网站上检索mm模块。

答案 1 :(得分:0)

phpinfo页面上的其他“会话”设置是什么样的?

特别是“session.save_handler”和“session.save_path”的值是多少?

以下是一些更多信息:http://php.net/manual/en/session.configuration.php

“mm”和“sqlite”是可供您使用的替代保存处理程序。默认情况下,php使用“文件”将会话数据存储在本地服务器上。