6

PHP新手在这里,但我无法在网上找到一个直接的答案。鉴于我的 phpinfo 的以下会话部分,我需要在 php.ini 中以最基本的方式启用会话吗?谢谢 :)

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

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   no value    no value
session.serialize_handler   php php
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   0   0
4

5 回答 5

6

PHP 安装不需要任何特殊配置来启用会话。它们默认启用

您应该确保您session_start();在任何页面的第一行都打算使用会话;它应该是第一行,在任何空格之前(例如空行)。

于 2013-05-23T05:19:11.203 回答
1

我想你必须增加你的会话如下:

session.cookie_lifetime 0 0session.gc_maxlifetime 1440 1440

session.cookie_lifetime 86400 86400session.gc_maxlifetime 86400 86400累积。

86400 表示 1 天。

这将允许您的系统使用具有 1 天生命周期的“session_start()”。希望这可以帮助某人。

于 2014-09-10T02:34:48.820 回答
0

有以下用于存储会话数据的内置选项。会话处理程序在名为的指令下的 php.ini 中设置

session.save_handler

您还可以给 sqlite db 来存储您的会话,例如

session.save_handler = sqlite
session.save_path = /tmp/phpsess.db
于 2013-05-23T04:44:35.747 回答
0

您的当前save_handler设置为将会话日期存储在系统上的文件中。问题是您save_path看起来目前没有价值。您将需要添加一个save_path以便 PHP 知道将这些文件放在哪里。

PHP:运行时配置#session.save_path

查看用户描述有类似问题的此页面。

于 2013-05-23T04:48:13.170 回答
0

安装和设置后,重新启动即可解决问题。手动启动服务器确实产生了上述结果。手动启动服务器时,某些东西显然无法正确加载。

我希望仍然可以帮助某人。

于 2020-07-20T09:39:15.390 回答