2013-05-14 20 views
0

我嘗試下面的代碼導入兩個文件使用需要的PHP文件導入()不工作

<?php echo "php"; 
    require('../globalvasr.php') or die("error"); 
    require('../newcosn.php') or die("error2"); 
    $config = new GlobalConfigs(); 
?> 

它不顯示錯誤,它只是簡單地顯示一個空白page.Also我無法使用在這兩個文件中定義的變量。 Like $config->DBNAME。 我不知道這是什麼錯誤。 請幫我找到它。

謝謝。

+0

檢查「globalvars.php」的拼寫更有意義,等等。「../'表示文件是從腳本調用的一個目錄。 – Adder 2013-05-14 10:34:47

+0

拼寫是正確的。我故意給它。即使我使用'require('globalvasr.php')或死(「錯誤」);''相同的結果。 – 2013-05-14 10:42:00

+0

這兩個文件只在同一目錄 – 2013-05-14 10:43:13

回答

1

requireinclude相反,自動死亡並且沒有返回值。 這意味着or die()是壞的。更好:

<?php echo "php"; 
    require('./globalvasr.php'); 
    require('./newcosn.php'); 
    $config = new GlobalConfigs(); 
?> 
0

如果你有空白頁,設置error_reporting: E_ALLphp.iniDisplay_errors: On或把你的腳本啓動這些線路

error_reporting(E_ALL); 
ini_set('Display_errors','On'); 

然後你會看到錯誤

+0

這也不會顯示錯誤 – 2013-05-14 10:56:50

+0

這是行不通的,因爲它應該是一個小寫'd' ini_set('display_errors','On')' – binaryfunt 2016-08-03 17:55:27

1

需要生成一個致命當需求失敗時出錯,導致腳本執行立即停止。

由於您似乎在Web環境中運行,您的輸出(所有回顯或打印語句)都會被緩衝直到腳本結束。

因此,在輸出緩衝區清空之前,require會失敗,導致致命錯誤(應在錯誤日誌中提供),從而阻止將第一個「echo」發送到瀏覽器。這就是爲什麼你會得到一個空白頁面。

嘗試使用include替換require,您將得到警告而不是致命錯誤。

+0

嘗試使用包含它的作品,但無法調用構造函數GlobalConfigs()導致該問題。 – 2013-05-14 11:06:46

+0

您的GlobalConfigs類是在哪個文件中定義的?該文件是否包含在內? – 2013-05-20 17:35:59

相關問題