2013-03-28 26 views
0

我曾經在PHP中有一個配置文件define'd一些常量。從升級到PHP 5.4後,它似乎不再有效。php 5.4定義函數

下面是一個例子:

//config.php 
define('CONSTANT', 'foo'); 

//page.php 
require_once 'config.php'; 

echo CONSTANT; //not defined 
+4

運行時得到預期輸出5.4 – 2013-03-28 02:40:24

+3

請發佈實際代碼,而不僅僅是示例摘錄。 – mario 2013-03-28 02:41:49

+0

[Similar problem](http://stackoverflow.com/questions/15111022/the-php-define-value-is-lost-in-include-files) – sectus 2013-03-28 02:52:00

回答

2

我不認爲你的config.php文件被適當地包括,或正確定義的常量。 define()在php 5.4中的工作方式與之前的相同。

在包含配置文件並希望定義常量後,請使用get_defined_constants()來查看所得結果。這對調試常量問題很有幫助。

+0

謝謝!我這樣做,發現我的'config.php'沒有被正確包含,因爲'php.ini'文件被覆蓋(並且包含了一個不同的'include_path')。 – tau 2013-03-28 02:58:54