【问题标题】:session_start warning on line 1第 1 行的 session_start 警告
【发布时间】:2011-08-06 23:47:55
【问题描述】:

我有一个开头的 php 文件:

<?php include "header.php"; ?>

文件 header.php 开始于:

<?php session_start();
$login_output = "";

if ($_GET['process'] == 'logout') {
session_destroy();
} 

它给了我这个警告: 警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已发送(输出开始于 /home/clicker/public_html/hstrial-RBochner/criteria.php:1)在 /home/clicker/public_html /hstrial-RBochner/criteria.php 在第 1 行

我是疯了还是说它不能打印第 1 行,因为它正在打印第 1 行?除了一个讨厌的文件外,它在所有文件中都可以正常工作。我想我到处都检查过空格。

【问题讨论】:

标签: php session-variables


【解决方案1】:

&lt;?php session_start(); ?&gt; 运行之前,您不能有任何whitespaces &lt;?php 应该是文件criteria.php 中的第一个字符串;)

【讨论】:

    【解决方案2】:

    如果您的文件是 Unicode 格式,那么它有一个伪不可见的 Unicode“标记”作为前几个字符。

    就PHP而言,这是你header命令之前的“输出”,header之前一定没有输出。

    尝试使您的源文件不是 Unicode。

    【讨论】:

    • @Timur:Unicode 的 BOM 绝对 会影响这一点;事实上,Stack Overlow 上 80% 的问题——并且已经有很多——以这种方式得到了解决。
    • @Tomalak,我忘记了我将我的 PHP 脚本文件保存在没有 BOM 的 Unicode 中 :) 你是对的
    猜你喜欢
    • 2012-10-19
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多