我刚刚买了一些新的服务器空间,并且正在将一个非常简单的PHP应用程序迁移到它,在我的其他服务器上正常工作。PHP会话没有被保存在页面之间
出于某种原因,会话数据未存储在新服务器上的页面之间的$ _SESSION变量中。我看过this similar SO article和其他许多人试图解决这个问题。
我可以确认:
- 会话的东西是我的其他网站工作的罚款。我查看了session.save_path定义的目录,并且在那里有很多会话文件(在OLD服务器上)。
- 我在页面末尾回显了$ _SESSION变量的内容,它保存着正确的数据,它只是没有被保存。
- 我为每个页面echo'd session_id()并获得相同的输出。
- 我看了一下NEW服务器的session.save_path文件夹(/ usr/lib/php/session)指定的文件夹,里面没有任何文件。我已经检查了权限并将其设置为drwxrwx ---,这应该表示php程序可以写入它,对吧?
- 我没有.htaccess文件。
- 我正在运行的CentOS 5.5
这是从phpinfo()函数输出的相关部分:
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 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_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 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
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/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
我已经联系了托管公司,他们不会考虑,因为他们说这是一个软件问题,它不是一个管理帐户。 Grrrrr ...
只要你可以看到一些代码,不是从我已经联系到文章的工作,我已经被偷代码:
// info.php
<?
session_start();
$_SESSION['ID'] = "112233";
$_SESSION['token'] = "mytoken";
print $_SESSION['ID'];
print $_SESSION['token'];
?>
<a href="info2.php">info 2</a>
和一个叫INFO2与此代码:
// info2.php
<?
session_start();
print $_SESSION['ID'];
print $_SESSION['token'];
?>
<a href="info.php">info</a>
结果是在info.php中打印数组数据,但在info2.php中没有输出(除了链接当然)。
非常感谢您的任何帮助。
尝试从这里回答:http://bytes.com/topic/php/answers/783445-session-not-holding-value –
任何标题的麻烦,你使用error_reporting(-1)获得最大的错误信息? – krifur
@Marek - 除了检查session.ave_path在php.ini文件中设置的正确性之外,我还是会在该文章中的所有内容。但我现在也这样做了,事实就是如此。 – Joe