【问题标题】:PHP Session Storage and header("location:") IssuePHP Session Storage 和 header("location:") 问题
【发布时间】:2014-11-11 16:40:33
【问题描述】:

我遇到了会话和标题问题。首先,他们都在我的本地开发计算机上工作。但是在我发布该网站后,它们就无法在那里工作了。

第一个问题是关于存储会话数据。我什么都试过了。

  • 我在页面顶部写了session_start()
  • 使用is_writable(session_save_path()) 方法检查文件夹是否可写。返回 true。

但还是不行。

第二个是关于header("location: ")。它也适用于我的本地主机,但不适用于我发布网站的服务器。

我错过了什么?

例如,在 index.php 中,这些行不起作用。

<?php
session_start();
if (empty($_SESSION['counter'])) {
    $_SESSION['counter'] = 0;
}
echo $_SESSION['counter'] ++;
?>

当我刷新页面时,它不会增加值。

【问题讨论】:

  • 错误日志中有什么内容吗?生产设置是什么样的? “在那里不起作用”意味着会话不是持久的,或者根本没有设置?
  • “不工作”不是一个可行的问题描述。弄清楚并更详细地描述你在做什么以及它做什么或不做什么。您是否激活了错误报告?你检查过你的错误日志吗?
  • 话虽如此,您很可能正在寻找这个:stackoverflow.com/a/8028987/476
  • 我添加了error_reporting(E_ALL);在顶部但什么也不返回。
  • 你也加了ini_set('display_errors', true)吗?否则你什么也看不到。

标签: php session header


【解决方案1】:

解决了!

似乎 session_start() 之前的空格导致了问题。删除了它们,现在它可以工作了。

【讨论】:

    【解决方案2】:

    我会检查您的页面编码。如果您有notepad++(如果没有,请下载它,因为它很棒)使用它打开页面并单击编码以查看它是什么。确保它是没有 BOM 的 UTF-8。

    【讨论】:

    • 我更改了编码,但没有解决我的问题。
    • 我看到空白是你的问题。我的道歉,我假设你已经检查过了。 BOM 问题是一个更常见的陷阱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 2019-05-10
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    相关资源
    最近更新 更多