【发布时间】:2014-12-03 13:51:03
【问题描述】:
我目前正在使用 wordpress 和插件。
我创建了一些插件,它确实需要将 cookie 和会话存储在服务器上。 但是当我尝试设置会话时,我的服务器似乎拒绝存储该会话。
我用这个简单的代码做了一些测试来证明这一点。
<?php
session_start();
error_reporting(E_ALL); ini_set('display_errors', '1');
if(isset($_SESSION['xjajal'])){
echo "SESSIOn nya : ".$_SESSION['xjajal'];
}else{
echo "session belum ada..";
$_SESSION['xjajal'] = "sssssjajal";
}
?>
结果一直显示“session belum ada”。 这意味着(如果我没记错的话)会话没有被存储。
我的问题很明显,为什么会这样? 什么事情可能导致这个问题?
我想到的第一件事可能是因为服务器配置不允许接受会话或权限问题,但是...... wordpress,它运行得很好。我可以登录,甚至“保持登录”。这意味着来自 wordpress 的会话甚至 cookie 都存储得很好。但是为什么我的会话没有被存储?
任何帮助将不胜感激。
【问题讨论】:
-
不要在脚本中执行 error_reporting/ini_set。它们应该设置在 php.ini 级别,以便它们在脚本启动期间处于活动状态。如果 session_start() 有问题(例如,标头已发送),那么您将永远看不到它,因为您在尝试启动会话之后才打开调试选项。
-
Cookies 存储在客户端,并与每个服务器请求的标头一起发送。
标签: php wordpress session cookies nginx