我在本地用下面的测试代码是正常的;同样代码放到服务器上, 测试就不正常, page2.php是读不到session内容的.
代码如下:
page1.php
<?php
//所用的保存seesion 的代码
Session_start(); //使用SESSION前必须调用该函数。
$_SESSION['name']="我是黑旋风李逵!"; //注册一个SESSION变量
$_SESSION['passwd']="mynameislikui";
$_SESSION['time']=time();
echo '<br /><a href="page2.php">通过COOKIE传递SESSION</a>'; //如果客户端支持cookie,可通过该链接传递session到下一页。
echo '<br /><a href="page2.php?' . SID . '">通过URL传递SESSION</a>';//客户端不支持cookie时,使用该办法传递session.
?>
page2.php:
<?php
//所用的读取seesion 的代码
session_start();
echo $_SESSION['name']; //
echo $_SESSION['passwd']; //
echo date('Y m d H:i:s', $_SESSION['time']);
echo '<br /><a href="page1.php">返回山一页</a>';
echo '<br />'.highlight_file(__FILE__,true);
?>
也查看了服务器和本地的 phpinfo() 信息中的session内容是相同的的:
服务器的php session:
Session Support enabled
Registered save handlers files user sqlite
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 /var/www/php /var/www/php
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
PHP Version 5.2.16
我看到存session文件夹 /var/www/php 的内容不停的增加 文件上也是完全所有用户完全读写权限777
ll /var/www/php -d
drwxrwxrwx 2 apache apache 897024 12-23 12:21 /var/www/php
浏览器端 page1.php 每次f5刷新 都看到cookie里的phpsssionid 每次都重新设置一个新的值.
帮帮忙. 哪里出问题了?