PHP CLI和常量

时间:2013-07-05 06:20:35

标签: php constants command-line-interface

我的代码有什么问题:

if(!defined(FILE_ROOT_PATH)){
    define('FILE_ROOT_PATH', $_SERVER['DOCUMENT_ROOT']);
}
echo 'Path: '.FILE_ROOT_PATH;

从CLI运行时,它给出:

  

使用未定义的常量FILE_ROOT_PATH - 在...中假设'FILE_ROOT_PATH'

我不能在CLI上使用常量吗?

3 个答案:

答案 0 :(得分:2)

您需要引用传递给defined()的字符串。

if(!defined('FILE_ROOT_PATH')){
    define('FILE_ROOT_PATH', $_SERVER['DOCUMENT_ROOT']);
}
echo 'Path: '.FILE_ROOT_PATH;

否则,你试图在常量存在之前引用它。

答案 1 :(得分:1)

这是错误的:

if(!defined(FILE_ROOT_PATH)){

defined()需要带有常量名称的字符串

答案 2 :(得分:1)

if(!defined('FILE_ROOT_PATH')){
define('FILE_ROOT_PATH', $_SERVER['DOCUMENT_ROOT']);
}
echo 'Path: '.FILE_ROOT_PATH;