我在会话中遇到一个奇怪的问题..这是在我的本地计算机上的WAMP服务器中工作..我的问题是在美国托管到服务器但它无法正常工作..
我这样做:
session_start();
$_SESSION['test'] = 'testing login..';
在我正在做的另一个页面中:
session_start();
echo('my session value is : '.$_SESSION['test']);
但我只是得到了 我的会话值是:
我的会话值未设置..
我检查了服务器的cPanel中的session.save_path,它是/ tmp。
请帮忙.. 提前谢谢。
答案 0 :(得分:2)
也许你的脚本已经死了,因为session_start
失败且“已经发送了标题”?例如,如果您的测试机器和生产服务器不以相同的方式编码新行,则可能发生这种情况......
错误可能不会显示在您的生产服务器上,请尝试以下操作:
ini_set('display_errors', 1);
session_start();
看看你是否得到了有用的东西。
答案 1 :(得分:0)
检查session.save_path
上的权限。该位置需要由Apache / httpd用户写入。
另请检查session.save_path
是否包含任何sess_
前缀文件。
答案 2 :(得分:0)
感谢所有的帮助。
我的问题是/ tmp文件夹中的安全权限。一旦它纠正了它的工作。
平均时间不要仅使用数字作为SESSION ID,(例如。$ _SESSION ['12345'])因为在linux托管中它不采用仅数字索引并跳过它。 (所以使用$ _SESSION ['ACS12345'])..
答案 3 :(得分:0)
php开始标记必须写在php文件的第一行。这种方法帮助我解决了这个问题。