php session 跨页面失效

WBOY
Release: 2016-06-06 20:15:57
Original
1065 people have browsed it

我有一个服务器,配置如下:

CentOS release 6.7 (Final),
nginx version: nginx/1.0.15,
PHP 5.3.3 (cli) ,

现在遇到一个问题,php session跨页面失效 举例:

a.php

<code><?php session_start();
$_SESSION = array('username' => 'jack');
echo "<a href="http://domain.com/b.php">bbbbbbbbbbbbbbbbb</a>";
</code>
Copy after login
Copy after login

b.php

<code><?php session_start();
var_dump($_SESSION);
</code></code>
Copy after login
Copy after login

b页面无法获取session。
请问这是什么原因呢?期待大神指点一下。

回复内容:

我有一个服务器,配置如下:

CentOS release 6.7 (Final),
nginx version: nginx/1.0.15,
PHP 5.3.3 (cli) ,

现在遇到一个问题,php session跨页面失效 举例:

a.php

<code><?php session_start();
$_SESSION = array('username' => 'jack');
echo "<a href="http://domain.com/b.php">bbbbbbbbbbbbbbbbb</a>";
</code>
Copy after login
Copy after login

b.php

<code><?php session_start();
var_dump($_SESSION);
</code></code>
Copy after login
Copy after login

b页面无法获取session。
请问这是什么原因呢?期待大神指点一下。

session.save_handler是文件存储,确保目录有读写权限。如果是使用缓存比如memcache,确保memcache可用。

因为你的情况牵扯到了session跨域的情况。

推荐阅读一下这篇文章: php 跨域、跨子域,跨服务器读取session

顺便建议多多了解下sessioncookie机理。

我不知道跟您说,我试了一下您的代码,测试结果是可以的。

我自己找到问题了--session存储目录权限问题
有的用nginx用户是www.www
php.ini session.save_path 目录的用户是apache.www

应该是我把服务器换成nginx后忘了把这个目录的权限改了。

顺便写了篇博客记录这个问题。如何解决session跨页面失效问题

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!