php中關於怎麼樣消除notice的做法

2021-06-28 10:10:36 字數 1855 閱讀 9735

最近幫人家修改乙個小專案,在做的過程中經常發現有些notice。類似

下面提供兩個解決方法:

一:找到配置檔案php.ini。在php.ini中把error_reporting設定成了e_all & ~e_notice

二:在檔案開頭或則一般在類似config.php的檔案開頭加上error_reporting(e_all & ~e_notice);

有關error_reporting()函式:

error_reporting() 設定 php 的報錯級別並返回當前級別。

; 錯誤報告是按位的。或者將數字加起來得到想要的錯誤報告等級。  

; e_all - 所有的錯誤和警告  

; e_error - 致命性執行時錯  

; e_warning - 執行時警告(非致命性錯)  

; e_parse - 編譯時解析錯誤  

; e_notice - 執行時提醒(這些經常是是你的**的bug引起的,  

;也可能是有意的行為造成的。(如:基於未初始化的變數自動初始化為乙個  

;空字串的事實而使用乙個未初始化的變數)  

; e_core_error - 發生於php啟動時初始化過程中的致命錯誤  

; e_core_warning - 發生於php啟動時初始化過程中的警告(非致命性錯)  

; e_compile_error - 編譯時致命性錯  

; e_compile_warning - 編譯時警告(非致命性錯)  

; e_user_error - 使用者產生的出錯訊息  

; e_user_warning - 使用者產生的警告訊息  

; e_user_notice - 使用者產生的提醒訊息  

使用方法:

error_reporting(0);//禁用錯誤報告

error_reporting(e_all ^ e_notice);//顯示除去 e_notice 之外的所有錯誤資訊

error_reporting(e_error | e_warning | e_parse);//顯示執行時錯誤,與error_reporting(e_all ^ e_notice);效果相同。error_reporting(e_all);//顯示所有錯誤

error_reporting(0)

error_reporting(255); 

是列出所有提示 

error_reporting(0); 

是不顯示所有提示 

建議使用 

error_reporting(7); 

只顯示嚴重錯誤

1 e_error 致命的執行時錯誤

2 e_warning 執行時警告(非致命性錯誤)

4 e_parse 編譯時解析錯誤

8 e_notice 執行時提醒(經常是bug,也可能是有意的)

16 e_core_error php啟動時初始化過程中的致命錯誤

32 e_core_warning php啟動時初始化過程中的警告(非致命性錯)

64 e_compile_error 編譯時致命性錯

128 e_compile_warning 編譯時警告(非致命性錯)

256 e_user_error 使用者自定義的致命錯誤

512 e_user_warning 使用者自定義的警告(非致命性錯誤)

1024 e_user_notice 使用者自定義的提醒(經常是bug,也可能是有意的)

2048 e_strict 編碼標準化警告(建議如何修改以向前相容)

4096 e_recoverable_error 接近致命的執行時錯誤,若未**獲則視同e_error

6143 e_all 除e_strict外的所有錯誤(php6中為8191,即包含所有)

PHP的就業前景怎麼樣?PHP小白應該怎麼學習?

做程式設計師,其實是很難真的就一直做一種語言的。有些是自己轉型的。有些是因為工作需要 需要了解和掌握的。因為語言是一門工具,雖然需要專研 但是也需要橫向發展,這樣才會增加自己的競爭力。比如 你是寫php的,那你可能html css js 也需要熟練掌握。如果不懂 也很難順利的開發 還有就是當技術的發...

PHP的就業前景怎麼樣?PHP小白應該怎麼學習?

做程式設計師,其實是很難真的就一直做一種語言的。有些是自己轉型的。有些是因為工作需要 需要了解和掌握的。因為語言是一門工具,雖然需要專研 但是也需要橫向發展,這樣才會增加自己的競爭力。比如 你是寫php的,那你可能html css js 也需要熟練掌握。如果不懂 也很難順利的開發 還有就是當技術的發...

怎麼樣修改android中語言

查了很多的網頁,上面都只有寫要修改product locales欄位.但.mk檔案太多的,我找了很久都沒有找到這個欄位在 定義的.最後發現的結果 device rockchip sdkdemo boardconfig.mk中.這個資料夾在標準的android 中屬於定製檔案目錄,可以在相應的專案中找...