【问题标题】:How to fix session problems on web host when header location change?标题位置更改时如何解决网络主机上的会话问题?
【发布时间】:2016-06-17 01:11:39
【问题描述】:

当执行 header("Location: new/location.php") 命令时,我遇到了会话问题。 在本地主机上测试一切都很完美,但是如果我将我的项目发送到网络服务器托管上,我会收到以下错误:

警告:session_start():无法发送会话 cookie - 标头已由 /srv/disk4 中的(输出开始于 /srv/disk4/2008248/www/some-url.com/new/location.php:2)发送/2008248/www/some-url.com/new/location.php 在第 7 行

警告:session_start():无法发送会话缓存限制器 - 已在 /srv/disk4 中发送标头(输出开始于 /srv/disk4/2008248/www/some-url.com/new/location.php:2) /2008248/www/some-url.com/new/location.php 在第 7 行

,所以我的问题是如何解决这个问题并使会话值保持活动状态,以便我可以在另一个重定向页面中使用该值?

【问题讨论】:

  • 你需要在 headers() 上面写 session_start。正如错误所说,您已经在会话开始之前发送了一些东西。让 Session 开始脚本的第一行,并且在 之前不留空格
  • 我写的是,正如我在本地主机上所说的那样,一切都像魅力一样
  • 发布 location.php 的前 5 行
  • 好吧,你是对的。我在

标签: php session session-cookies url-redirection


【解决方案1】:

Warning: session_start(): Cannot send session cookie - headers already... 在 session_start() 之前发生的典型错误

你需要在 headers() 上面写session_start()。正如错误所说,您已经在会话开始之前发送了一些东西。让 Session 开始脚本的第一行,<?php 标记之前不要留空格

【讨论】:

    【解决方案2】:

    使用 ob_start();在php页面的顶部

    【讨论】:

    • 谢谢,但我已经解决了这个问题。在我的例子中,错误的原因是
    • 对不起,我会注意的。感谢您的礼貌建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 2020-10-03
    • 2019-02-27
    相关资源
    最近更新 更多