можно использовать session_start () внутри включенного файла? - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть 2 страницы, одна - index.php, другая - classes.php

не должно сработать classes.php:

<?php
  ob_start();
  session_start();

?>

index.php:

<?php
  include "classes.php";
  error_reporting(E_ALL);
  echo "Loaded";
?>
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /public_html/index.php:1) in /public_html/includes/classes.php on line 2

Ответы [ 5 ]

3 голосов
/ 08 ноября 2011

Убедитесь, что перед открывающим тегом <?php в ваших классах и индексных файлах нет пробелов.

2 голосов
/ 08 ноября 2011

Убедитесь, что вы не отправляете что-либо , прежде чем что-либо, касающееся сессии, будет выполнено.

Это значит:

  • удалить все до <?php,
  • удалить конечные ?> теги (они не обязательны и часто вредны),

Проблема, с которой вы столкнулись, вызвана чем-то, что находится перед "<?php" в файле index.php (это может быть пробел, табуляция, конец строки или что-то еще, что вы нам не показали), но если вы будете следовать По приведенным выше правилам эта проблема должна возникать намного реже при дальнейшей разработке приложения.

1 голос
/ 08 ноября 2011

output started at /public_html/index.php:1

Очевидно, у вас есть пробел (или, возможно, содержимое) перед стартовым тегом PHP в файле index.php, который отправляется как вывод.

1 голос
/ 08 ноября 2011

Это не проблема включения - у вас где-то есть пробелы, возможно, в classes.php после ?>.

0 голосов
/ 08 ноября 2011

проверьте ваш php.ini и посмотрите, установлен ли session.auto_start в 1 (или true, или да).

Если вы хотите запустить сеанс вручную, он должен быть установлен в 0

Более подробная информация здесь: http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start

, если оно уже установлено в 0, то у вас есть пробел или новая строка в начале index.php, попробуйте убедиться, что вы делаетене вижу никаких странных символов

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