【问题标题】:PHP configuration to enable sessions启用会话的 PHP 配置
【发布时间】:2011-04-14 00:54:02
【问题描述】:

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

开发服务器上的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 会话工作吗?

【问题讨论】:

  • php5 已经是当前的 PHP 版本了。无需指定
  • 不,没有“mm sqlite”不能阻止 PHP 会话工作。配置设置是导致某些事情不起作用的最小原因。这是你的代码,伙计。这是你的代码,你最好开始调试
  • 不完全是 Col。我提出了一个新问题,该问题也描述了我在这里遇到问题的原因 - stackoverflow.com/questions/3740884/…

标签: php session phpinfo


【解决方案1】:

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

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

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

sqlite 或者,您可以将会话数据存储在 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 模块。

【讨论】:

  • 来自该页面的 cmets:Should be: session.save_handler = sqlite 这是合乎逻辑的
  • 请修复 session.save_handler 到 sqlite
【解决方案2】:

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

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

这里有更多信息:http://php.net/manual/en/session.configuration.php

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

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 1970-01-01
    • 2012-09-11
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多