【发布时间】:2013-09-03 15:24:08
【问题描述】:
我在我的网站上传递会话变量时遇到问题。我可以在 adser/page2.php 上回显我的会话变量,但是当我转到第三页时,会话就消失了。
有人可以帮我解决这个问题吗?
login.php
session_start();
$_SESSION['account_id']= $account_id;
$_SESSION['user_email']= $user_email;
广告商/page2.php
session_start();
广告商/page3.php
session_start();
这是我的 phpinfo() 上的设置
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path no value no value
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
【问题讨论】:
-
在您完成
session_start()之后检查所有页面中session_id()的值。如果您获得不同的 ID,那么您的会话 cookie 设置不正确,或者 cookie 以某种方式丢失。副手,你的 session.save_path 是空白的,这可能不好。如果没有明确指定,不知道 PHP 会如何反应。 -
谢谢,我实际上在故障排除时检查了我的 ID,这很奇怪,因为我得到了相同的 ID,这在这种情况下很好。我仍然可以弄清楚为什么会话没有通过。
-
然后检查保存路径。也许 php 无法实际保存会话文件。
-
谢谢马克。我会试一试的。
-
我在 php5.ini 文件 session.save_path = "webroot/tmp" 中添加了以下路径,但出现以下错误。警告:session_start() [function.session-start]: open(webroot/tmp/sess_qttb31r4d4q7b1eder40ati5h1, O_RDWR) failed: No such file or directory (2) in /home/content/22/9958722/html/advertisers/campaigns.php在第 2 行
标签: php session session-storage