Я хотел бы разделить мои исходные папки на две: папки, содержащие код, который вы вводите в адресную строку, и те, которые составляют части страницы (плитки) и другой код (классы и т. Д.). Поэтому в начале каждого php-файла я добавил:
<?php
// index.php
include("config.php");
include("session.php");
?>
Config содержит только это, но позволяет мне расширяться, если мне нужны другие каталоги (журналы и т. Д.)
<?php
// config.php
$_PATHS["base"] = dirname(dirname(__FILE__)) . "\\";
$_PATHS["includes"] = $_PATHS["base"] . "includes\\";
ini_set("include_path", "$_PATHS[includes]");
?>
И сессия, помимо прочего, в конструкторе вызывает session_start
. Это также требует других классов, которые включены в другом месте - что требует перечисления конфигурации перед включением сеанса. Однако я получаю ошибку
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started ...
Если я включу включения, эта конкретная ошибка исчезнет, но мне нужно начать вручную обрабатывать ссылки на файлы заголовков. Есть ли способ установить каталоги в первую очередь и при этом использовать сеансы, или session_start
должен быть первым, что включает файл?