4

我在会话中有一个奇怪的问题..这在我本地机器上的 WAMP 服务器上工作..我的问题是托管在美国的服务器上它不工作..

我这样做:

session_start();
$_SESSION['test'] = 'testing login..';

在另一个页面中,我正在做:

session_start();
echo('my session value is : '.$_SESSION['test']);

但我得到的只有我的会话值是:

我的会话值没有设置..

我在服务器的 cPanel 中检查了 session.save_path,它显示为 /tmp。

请帮助..提前谢谢。

4

4 回答 4

2

也许您的脚本因session_start“标头已发送”而失败?例如,如果您的测试机器和生产服务器没有以相同的方式对新行进行编码,则可能会发生这种情况......

这些错误可能不会显示在您的生产服务器上,请尝试以下操作:

ini_set('display_errors', 1);
session_start();

看看你是否得到了有用的东西。

于 2012-07-18T14:06:41.937 回答
0

检查您的session.save_path. 此位置需要 Apache/httpd 用户可写。

还要检查您是否session.save_path包含任何sess_前缀文件。

于 2012-07-18T14:36:41.370 回答
0

感谢所有的帮助。

我的问题是 /tmp 文件夹中的安全权限。一旦它纠正它的工作。

平均时间不要只对 SESSION id 使用数字(例如 $_SESSION['12345']),因为在 linux 托管它不采用仅数字索引并跳过它。(所以使用 $_SESSION['ACS12345'])..

于 2012-07-19T11:55:47.523 回答
0

php 开始标签必须写在 php 文件的第一行。这种方法帮助我解决了这个问题。

于 2014-03-17T21:49:44.433 回答