PHP会话未按预期工作

时间:2015-09-22 11:46:25

标签: php session

我在让PHP会话正常工作时遇到问题。我有以下两页作为测试。我希望sess2.php输出' bing'但它没有做。

sess1.php

<?php
session_start();
$_SESSION['usr'] = 'bing';
echo '<a href="sess2.php">go</a>';

sess2.php

<?php
session_start();
echo $_SESSION['usr'];

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

有var / lib / php / session文件夹写的权限吗?

有时执行apache的用户/组与root用户/用户/组不同,这取决于特定的内置配置。

尝试将chmod 777添加到您的会话存储路径,您可以执行session_save_path()来查看特定文件夹或查看您的phpinfo()

答案 1 :(得分:0)

尝试修改这样的文件以查看问题所在:

sess1.php

<?php
session_start();
$_SESSION['usr'] = 'bing';
echo '<a href="sess2.php">go</a>';
echo '<pre>' . print_r($_SESSION, true) . '</pre>'

sess2.php

<?php
session_start();
echo '<pre>' . print_r($_SESSION, true) . '</pre>'

如果您在$_SESSION看到空sess1.php,那么打开和/或设置会话本身的问题;如果sess1.php没问题,但sess2.php已空$_SESSION,那么在请求之间传递会话会出错(例如已停用的Cookie)。无论哪种方式,这将为您提供问题所在的线索,并从那里找出解决方案。