Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当托管到服务器时,php会话变量值为null_Php_Session_Session Variables_Shared Hosting - Fatal编程技术网

当托管到服务器时,php会话变量值为null

当托管到服务器时,php会话变量值为null,php,session,session-variables,shared-hosting,Php,Session,Session Variables,Shared Hosting,我在会议中遇到了一个奇怪的问题。。这是在我的本地机器的WAMP服务器中工作的。。我的问题是wen托管在美国的一个服务器上,它不工作 我是这样做的: session_start(); $_SESSION['test'] = 'testing login..'; 在另一页中,我正在做: session_start(); echo('my session value is : '.$_SESSION['test']); 但我只得到了 我的会话值是: 我的会话值未设置 我检查了它显示为/tmp的服务

我在会议中遇到了一个奇怪的问题。。这是在我的本地机器的WAMP服务器中工作的。。我的问题是wen托管在美国的一个服务器上,它不工作

我是这样做的:

session_start();
$_SESSION['test'] = 'testing login..';
在另一页中,我正在做:

session_start();
echo('my session value is : '.$_SESSION['test']);
但我只得到了 我的会话值是:

我的会话值未设置

我检查了它显示为/tmp的服务器的cPanel中的session.save_路径

请帮忙。。
提前感谢。

您的脚本可能会因为
会话\u启动
失败并出现“已发送头”而死亡?这可能会发生,例如,如果您的测试机和生产服务器没有以相同的方式编码新行

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

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

查看是否有有用的内容。

检查
会话的权限。保存路径。此位置需要可由Apache/httpd用户写入


还要检查会话。保存路径是否包含任何前缀文件。

感谢所有帮助

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


平均时间不要对会话ID只使用数字(例如$\u SESSION['12345']),因为在linux主机中,它不使用数字索引并跳过该索引。(因此使用$_会话['ACS12345'])

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

@sixeightzero我发现他们总是这样做的。哦,等等,你在问OP他的曲奇行不行……也许脚本快结束了?(取决于设置变量后发生的情况)。设置变量后,请尝试会话写入关闭()。您到底在哪里执行会话开始()?@Rafael i放置会话开始();可能是会话文件没有写入文件系统(可用空间不足、权限问题等)。可能是在创建会话后不久,其他内容正在删除您的会话。您是否验证(使用Firebug或其他方法)页面上设置
$\u SESSION['test']
变量的phpsid与您尝试检索该变量的页面上的phpsid相同?如何检查权限。我对这个有点陌生。你有命令行权限访问这个盒子吗?执行
ls-la/tmp
此外,如果您的用户是
chrooted
/tmp
可能不是会话处理程序正在查找的文件。您始终可以尝试新路径,如
~/sessions
。创建目录,更新ini或脚本,然后重试。谢谢您提供的信息。因为我现在不在办公室,所以我会在早上检查。这是另一篇帖子上的评论。请确保在Linux服务器上命名会话变量时不要以数字开头(lime
$\u session['1ABC']