使用未定义的常量 - 可能是由于session_start()?

时间:2015-07-19 12:17:35

标签: php

我可能会遗漏一些非常明显的东西但是在我的index.php文件中我已经声明了一个常量,我的自动加载函数和一个尚未包含的类:

<?php

define("DOCUMENT_ROOT", dirname(realpath(__FILE__)).'/site/');

$c = new classThatHasNotYetBeenIncluded();

function __autoload($class_name)
{   
    include DOCUMENT_ROOT . 'classes/' . $class_name . '.php';
}

这很好,直到我将session_start()添加到index.php的开头:

<?php

session_start();

define("DOCUMENT_ROOT", dirname(realpath(__FILE__)).'/site/');

$c = new classThatHasNotYetBeenIncluded();

function __autoload($class_name)
{   
    include DOCUMENT_ROOT . 'classes/' . $class_name . '.php';
}

这给出了:

Notice: Use of undefined constant DOCUMENT_ROOT - assumed 'DOCUMENT_ROOT' in ...

我已经查看了以前的答案,他们似乎都在'中围绕常量名称丢失define(),但似乎{{1}打破常数?

可能我对session_start()session_start()define()的工作方式存在误解,但我并不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

我使用 DIR 而不是文件,并像这样转义“\”:

define("DOCUMENT_ROOT", __DIR__ . "\\site\\");