2011-11-07 34 views
2

失敗我有一個這樣的腳本:爲什麼是兩個錯誤報告包括()和require()時,在PHP

<html> 
<body> 

<?php 
require("wrongFile.php"); 
echo "Hello World!"; 
?> 

</body> 
</html> 

現在如果wrongfile不存在兩個以下錯誤會報告:

Warning: require(wrongFile.php) [function.require]: failed to open stream: No such file or directory in C:\home\website\test.php on line 5

Fatal error: require() [function.require]:Failed opening required 'wrongFile.php' (include_path='.;C:\php5\pear') in C:\home\website\test.php on line 5

我知道,如果不存在require()函數中的文件顯示致命錯誤,導致腳本執行停止,但不明白什麼是第一個錯誤

使用include()函數的第一個錯誤顯示o

+0

您還可以警告,關閉所有在一起,http://stackoverflow.com/questions/1645661/turn-off-warnings-and-errors-on-php-mysql – locrizak

+3

...但不這樣做。 –

+1

@everyone:不要將錯誤消息格式化爲代碼。你使它們比純文本更糟糕。 –

回答

6

這很明顯,不是嗎? :-)

當它試圖打開您指定的文件時,會從require()函數中引發第一個警告。它不能打開一個用於讀取文件的流,因爲該文件不存在。

因爲這個原因,函數調用本身也失敗了,這就解釋了'致命錯誤'。

0

第一個是警告,不是錯誤。您可以嘗試使用@include來抑制它。 (自然,它與require沒有太大的關係)。

+0

爲什麼這個答案是有史以來最好的?甚至可以有絲毫原因? –

相關問題