PHP define没有注册常量

时间:2011-10-27 15:13:04

标签: php

我正在新的生产服务器上设置我的(Wordpress)解决方案。我现在发现PHP函数define无效。

我在functions.php

中有这行代码
define('INCLUDE_DIR', $_SERVER['DOCUMENT_ROOT'] . '/wp-content/themes/storelocator/include/');

测试以下代码:

if (!defined('INCLUDE_DIR'))
  echo ' NOT SET! ';

输出NOT SET

根据this page,我在include语句中使用常量正确。 functions.php中的其余代码运行正常。我查过了。

这是由于某些PHP配置吗?我正在使用PHP v5.3.8

更新:

define()位于functions.php文件的顶部 if语句位于some-file.php的最顶部。

我非常确定在functions.php之前运行some-file.php

更新
我似乎得到了这个错误,因为我的PHP文件底部有空行。我删除了空行,现在它似乎工作: - /

2 个答案:

答案 0 :(得分:1)

您必须在之前调用define()函数,然后检查常量是否为defined()。如果您这样做(尝试将define电话放在defined电话的正上方,那么我就没有理由认为这不起作用。

答案 1 :(得分:1)

我遇到了完全相同的问题,并通过从常量名称中删除下划线来解决它。希望这会有所帮助。