【发布时间】:2010-07-09 11:24:39
【问题描述】:
我正在使用常量在脚本中设置各种配置变量。
INC_PATH 常量在包含类库的脚本中定义。
define('INC_PATH',$_SERVER['DOCUMENT_ROOT'].'includes/');
include('class.lib.php');
类库包含各种 include('someClass.php') 行。它还包含:
require(INC_PATH.'DB.class.php');
类库抛出通知:
Use of undefined constant INC_PATH - assumed 'INC_PATH'
类库如何看不到 INC_PATH 常量已被定义?我认为常量是全局的?
【问题讨论】:
-
你确定它确实是
include('class.lib.php');而不是include('http://example.com/class.lib.php');吗? -
@Col。弹片 不是,但如果是,那会有什么不同呢?是否会导致未定义常量?这似乎没有意义。
-
哦,但这确实有道理。在后一种情况下,您包含脚本的解释版本,它不会知道您在包含它时定义的任何常量,因为它在不同的请求(从服务器启动)中自行运行。
-
@wimvds 那么在没有不同请求的情况下如何让它运行呢?脚本后面还有其他包含的文件,它们使用各种常量没有问题。它们是如何工作的,而这个却没有?
-
你可以试试
get_defined_constants()看内容是否和你调用栈的schema一致?...