2011-03-04 76 views
4

我知道你可以使用@來抑制錯誤。 但是,無論如何,你可以讓PHP忽略@?在php中查看@抑制錯誤

在我的情況下,我必須使用使用@的第三方腳本,該腳本非常龐大,我很難找到它死去的地方。

+0

建議你只是他們所有編輯出來。先嚐試全局搜索/替換。如果這比它應該做的更多,那麼只需手工完成。 – 2011-03-04 09:22:06

+0

使用正則表達式刪除'@'與 – diEcho 2011-03-04 09:22:21

回答

1

但是,有無論如何,你可以讓PHP忽略@?

我不這麼認爲,不,沒有擴展名,如@deceze所示。

雖然你可以設置一個custom error handler。如果將其配置爲忽略error_reporting()設置,那麼在使用@調用的函數內時,該設置爲0,則可以在那裏輸出錯誤。

4

還有scream extension打破沉默。

+0

有多高興看到這個由戴耳機的傢伙建議。 – 2011-03-04 09:24:58

+0

@Pekka我的電話是我個人的'@'操作員。 :O) – deceze 2011-03-04 09:26:19

1

您可以使用

print_r(error_get_last()); 

該腳本後,得到最後產生的錯誤,所以你可以趕上supressed錯誤。

進一步閱讀error_get_last()

2

每個自定義錯誤處理程序接收抑制錯誤消息:

set_error_handler("var_dump"); 

只是一個例子。您通常會選擇更好的報告功能。