2011-03-05 57 views
0

據我所知,我們可以設置PHP可以在PHP文件中取消錯誤通知,而不是在php.ini中?

error_reporting = E_ERROR 
display_errors = Off 
在php.ini

,對於地球環境。

但我只想取消一個PHP文件中的錯誤通知,而不是所有的頁面。當事情會在頁面打印,如:

Warning: getimagesize(CU1402715579480Bv-300x286--50x50.jpg) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported...

我們可以關閉一個錯誤通知頁面上,像<php set_time_limit(0); ?><php date_default_timezone_set('America/Los_Angeles'); ?>

回答

2

除了在腳本中設置error_reporting(E_ERROR),也可以單獨使用閉嘴抑制誤差的特定功能運營商:

@getimagesize("http://wrong.wrong.wrg/nonexist.png"); 

雖然在你的情況下,你可能想通過請求帶有http上下文選項http://www.php.net/manual/en/context.http.php的文件分隔來設置protocol_version - 這可以消除實際的錯誤。 (或惰性替代使用HTTP類/庫)

+0

同意 - 對於單個命令,可怕的'@'相當於明確地關閉和重新打開錯誤報告,以及更少的代碼。 (在這種情況下,OP似乎需要整個文件) – 2011-03-05 10:43:07

+2

@Pekka:我假設它只是關於非關鍵圖像探測(可能會從getimagesize本身引發第二個錯誤)。不確定時區問題部分是關於什麼。所以可能會有更多的錯誤。但是,如果他想成爲一個懶惰的@include(「imagescript.php」);'會做的伎倆;} – mario 2011-03-05 10:48:57

0

在您的特定腳本,該腳本生成通知,你可以把這個:

error_reporting(E_ALL^E_NOTICE); 

所有錯誤(E_ALL)除通知(E_NOTICE)將被顯示。

又名。

0

error_reporting(E_ALL_E_NOTICE); 也許在這裏的語法錯誤我不是很確定雖然

相關問題