session_start () ошибка - PullRequest
       1

session_start () ошибка

1 голос
/ 05 марта 2011

Я не могу справиться с этой ошибкой, пожалуйста, помогите мне.Он работал на моем ноутбуке, но не работал на рабочем столе.

Почему?

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at F:\xampp\htdocs\etest\index.php:1) in F:\xampp\htdocs\etest\common\header.php on line 3

Код:

<?php
ob_start();
session_start();
include("constants.php");
include("includes.php");
?>

Спасибо за вашу доброту!

Ответы [ 9 ]

3 голосов
/ 05 марта 2011

ошибка была на F:\xampp\htdocs\etest\common\header.php on line 3, но выход уже был начат на F:\xampp\htdocs\etest\index.php:1

Полагаю, вы опубликовали header.php, но у вашего index.php есть пробел перед <? php include () или выводит что-то кроме заголовка в первой строке. </p>

ошибка вызвана первой строкой index.php, что бы там ни было. Я думаю, пробел.

3 голосов
/ 05 марта 2011

Обычно, когда вы видите «заголовки уже отправлены» , это означает, что вы пытаетесь сделать что-то, для чего требуется установить заголовок HTTP, но вы уже отправили содержимое клиенту.При использовании HTTP вы должны отправлять заголовки, а затем контент.Если вы отправили контент, вы упустили возможность отправлять заголовки.

1 голос
/ 10 января 2016

use_only_cookies=0 до use_only_cookies=1 в php.ini файле

Я столкнулся с той же проблемой в xampp 7.0.1, и это исправило ее. Прочитайте это здесь .

1 голос
/ 05 марта 2011

Включить буферизацию вывода по конфигурации.Таким образом, он начнется раньше всего, поэтому, безусловно, решит вашу проблему.Несмотря на то, что вы должны взглянуть на свой код и найти причину настоящей ошибки, потому что кажется, что вы еще не до конца понимаете свой сайт.

После включения буферизации вывода по конфигурации вам больше не нужно вызывать ob_start()вручную.

Создайте файл с именем .htaccess с таким содержанием:

php_flag output_buffering on

... или добавьте эту строку в свой php.ini:

output_buffering = On
1 голос
/ 05 марта 2011

Запустите сеанс поверх файла.

Прямое включение тега php, когда вы делаете эхо или отправляете какой-то заголовок, прежде чем получите это сообщение об ошибке.

<?php
session_start();
ob_start();
include("constants.php");
include("includes.php");
?>
0 голосов
/ 04 июля 2019

Я получал это, даже когда он был в верхней части файла.

Проблема НЕВИДИМЫЙ ХАРАКТЕР UTF8

Решение Был дляудалите файл и создайте новый, начиная с <?php, а затем скопируйте все после php в новый.(Не копируйте начало файла).

0 голосов
/ 05 марта 2011

Поместите этот код внутрь includes.php

ob_start();
session_start();

И удалите тот же код со всех остальных страниц.Также убедитесь, что в ваших файлах нет пробелов перед начальным

(в частности, вы получаете ошибку, потому что что-то не так в первой строке index.php, а не header.php)

0 голосов
/ 05 марта 2011

session_start() должен быть вызван до того, как появится ЛЮБОЙ другой выход.Ошибка говорит вам, что вывод начался в строке index.php 1. Перед этим должен быть сделан вызов session_start().

0 голосов
/ 05 марта 2011

Да, начать сеанс поверх файла, и убедитесь, что у вас нет пробела до

<?php

Плюс, вы можете вызвать session_start ();только один раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...