1. 語法錯誤
* 1). 少寫分號
* 2). 。 。。。。。2. 環境錯誤
* 1). php 配置等待3. 邏輯錯誤
* 1). 想用一個等號,結果使用了兩個等號
E_ALL
所有的錯誤和報告
E_ERROR
致命的運行時錯誤,腳本的執行被
E_WARBING
運行時警告(非致命性),腳本的執行不會被暫停
E_PARSE
編譯時解析錯誤
E_NOTICE
運行時提醒
E_STRICT
啟動php對代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性
E_DEPRECATED
運行時通知,啟動後將會對在未來版本中可能無法正常工作的代碼給出警告
E_CORE_ERROR
發生於php啟動時初始化過程中的致命錯誤
E_CORE_WARNING
發生於php啟動時初始化過程中的警告錯誤(非致命性)
E_COMPILE_ERROR
編譯時致命性錯
E_COMILE_WARNING
編譯時警告(非致命性錯)
E_USER_ERROR
用戶產生的出錯消息
E_USER_WARNING
用戶產生的警告消息
E_USER_NOTICE
用戶產生的提醒消息
E_USER_DEPRECATED
用戶產生的警告信息,類似E_DEPRECATED,但是是通過trigger_error
函數產生的
E_RECOVERABLE_ERROR
可被捕獲的指明錯誤,她表示可能發生了一個非常危險的錯誤,但是還沒有導致PHP引擎處於不穩定狀態。如果該錯誤沒有被用戶自定義句柄捕獲(參見set_error_handler()
),將成為一個E_ERROR,從而腳本會終止運行。
1.
Deprecated(不推薦|過時)
錯誤
* 1).最低級的錯誤
比如使用ereg
函數, mysql_escape_string
* 2).Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.
2.
Notice
通知級別的錯誤
* 1). 訪問未定義的變量
* 2). 訪問數組時,$arr[“name”]; 程序首先會執行查找常量name,如果沒有找到則會將name當做字符串處理3.
Warning
警告級別的錯誤
* 1). 參數個數不對
* 2). 參數類型不對4.
Fatal error
致命級別的錯誤(終止程序繼續執行)
* 1). 調用未定義的函數
* 2). 參數類型不對5.
parse error
語法解析錯誤
* 1). 檢查階段沒有通過,其他任何錯誤都不會看到,因為還沒到哪裡,程序還沒解析成功
6.
E_USER_相關的錯誤
* 1). 檢查階段沒有通過,其他任何錯誤都不會看到,因為還沒到哪裡,程序還沒解析成功
$php_errormsg
中
1. 在配置文件中修改error_reporting 的值
2. 在代碼中通過
error_reporting函數
設置
* 1.error_reporting(0); 不顯示錯誤,除了E_PARSE
* 2.error_reporting(-1) | error_reporting(E_ALL) 顯示所有錯誤3. 使用ini_set(‘error_reporting’, 0)函數運行時設置
@
1.
@
settype()
觸發錯誤的功能不只限於php解析器,還可以通過trigger_error()
函數觸發錯誤。 trigger_error(‘錯誤信息’, 自定義錯誤,如:(E_USER_NOTICE) ) trigger_error(‘自定義錯誤信息’, E_USER_NOTICE); 該函數不會打斷程序繼續執行。