php session 跨页面失效

WBOY
Freigeben: 2016-06-06 20:15:57
Original
1099 Leute haben es durchsucht

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

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>
Nach dem Login kopieren
Nach dem Login kopieren

b.php

<code><?php session_start();
var_dump($_SESSION);
</code></code>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

b.php

<code><?php session_start();
var_dump($_SESSION);
</code></code>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

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

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

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

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

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

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage