代码
<?php
session_start();
var_dump($_SESSION);
$_SESSION['test'] = 5;
输出
array(0) { }
的phpinfo()
Session Support enabled
Registered save handlers files user mm
Registered serializer handlers php php_binary
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
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 On On
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file /dev/urandom /dev/urandom
session.entropy_length 16 16
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php5 /var/lib/php5
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0
/tmp
也可写:
# ls -la /tmp/
drwxrwxrwt 22 root root 4096 Aug 26 09:44 .
对此有何想法?
答案 0 :(得分:1)
如果你的会话似乎没有开始,你可以做两件事:
检查session_start()
的返回值;如果出现错误,它将返回false
。
显示通知和警告:
error_reporting(-1);
ini_set('display_errors', 'On');
在实时服务器上,您可能希望改为使用error_log
。
通过Cookie或通过查询字符串传递会话ID(不推荐),检查会话是否正确延续。
答案 1 :(得分:1)
为了测试您的示例,您必须在两次运行此文件!一个用于填充会话变量,另一个用于打印会话数组。请查看以下示例:
<?php
session_start();
$_SESSION['test'] = 5;
var_dump($_SESSION);
答案 2 :(得分:0)
session.save_path
/var/lib/php5
不是/tmp
!
在
$ sudo chmod 777 /var/lib/php5
$ sudo rm /var/lib/php5/*
会话再次开始工作。
Jack是对的:不要将777用于会话文件!
$ sudo chown wwwrun:www /var/lib/php5
$ sudo chmod 700 /var/lib/php5