PHP 中的 error_reporting()
在 PHP 的各種等級的錯誤中,error_reporting 是 PHP 中的一個函數,它指示報告的錯誤是什麼,並確定執行時的 error_reporting 指令。使用此函數,我們可以為腳本所需的持續時間(通常是執行時間)設定規定的等級。它根據給定的輸入返回舊的錯誤報告級別,或在未給出參數時返回當前的報告級別。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
帶參數的語法
以下是帶參數的語法:
文法:
error_reporting(level)
參數:
只有一個參數級別,該參數級別是可選的並且其輸入函數採用。它指定當前腳本的錯誤報告等級。接受的值為常數名稱和值編號。
注意: 為了確保 PHP 未來版本的相容性,建議使用命名常數。有一些預定義常數,其說明如下:
1。 E_Error:這些表示無法復原的致命執行階段錯誤,且腳本執行將停止。
2。 E_Warning: 這些是非致命錯誤,腳本將繼續執行。
3。 E_Parse: 這顯示僅由解析器產生的編譯時解析錯誤。
4。 E_Notice:這會發出執行時間通知,表示腳本發現了一些顯示錯誤的內容,但在執行正常腳本時也可能會發生這種情況。
5。 E_Core_Error: 在 PHP 初始啟動期間,可能會出現一些由 PHP 核心產生的致命錯誤。
6。 E_Core_Warning:這顯示了 PHP 初始啟動期間出現的非致命錯誤,也是由 PHP 核心產生的。
7。 E_Compile_Error:這些顯示編譯期間發生的致命錯誤。這些是由 Zend 腳本引擎產生的。
8。 E_Compile_Warning:與上方類似,這些顯示編譯時警告或可稱為非致命錯誤,也由 Zend 腳本引擎產生。
9。 E_User_Error:顯示使用者產生的錯誤。這與 E_ERROR 類似,只不過它是使用 PHP 程式碼中的 PHP 函數產生的。
10。 E_All:這就像上述所有內容的組合,支援 E_STRICT 以外的所有錯誤和警告。
傳回值:
error_reporting 函數給予舊的報告等級或目前的錯誤報告等級(如果沒有給出參數)。
PHP 中 error_reporting 的工作原理
此功能可讓開發人員實際控制不同類型的錯誤以及應用程式中將拋出多少此類錯誤。此函數設定一個 error_reporting 指令,該指令將出現在 PHP ini 設定檔中。
error_reporting(0);
- When 0 is passed to the error reporting function it removes all warnings, errors, parse related messages and notices, if any. Instead of having to include this line in each of the PHP code files, it is practical to have it added and to turn off these report messages in the ini file present or in the .htaccess.
error_reporting(E_NOTICE);
- In PHP the variables can be used even when not declared. But this practice is not feasible as the undeclared variables may cause application related issues if it is used in conditional statements and loops. This may also take place because of the spelling mismatch between the declared variables and of that being used for conditions and loops. When this E_NOTICE will be passed into the error_reporting function, only then these undeclared variables will be shown in the web application.
error_reporting(E_ALL & ~E_NOTICE);
- This error reporting function helps to filter out the errors which can be displayed. The “~” character here means the “not/no” and hence ~E_NOTICE here means to not show any notices. Here the “&” character represents “true for all” whereas “|” means as long as one of the parameters is true. They are exactly similar to the functions AND and OR in PHP.
error_reporting(E_ALL); error_reporting(-1); ini_set('error_reporting', E_ALL);
- All of the above lines serve the same purpose i.e. show all the errors. E_ALL is the most widely used function among all others by developers to display error messages as it is more comprehensible and intelligible.
Error Logging in PHP using error_log() Function
It happens so that during the production phase, error messages are to be hidden from the end-users but this information is needed to be registered for tracing purpose. And the best way to record these errors on the production web application is to write and store in log files.
An easy way to log these is by using the error_log function which takes our parameters as input. The only mandatory parameter here is the first one which contains details about the errors and what all to be logged. Other parameters like the type, destination, and header are non-mandatory here for this function.
error_log("Error found!", 0);
- The type parameter will be set to 0 by default if not given, and the log information will be appended at the end of the log file generated in the webserver.
error_log("Error information being emailed!", 1, "[email protected]");
- The type parameter here is 1 will email this log specified in the 3rd parameter which is the email id. For this to work, the PHP ini file must be having a correct SMTP configuration to send out emails. Some of the parameters required for these include host, encryption type, port, password and username.
error_log("Write errors to this file", 3, "https://cdn.educba.com/tmp/errorfile.log")<em>;</em>
- The same error logs can also be written down to the required file whose path will be given in the third parameter. Make sure the given path has all required permissions.
Example of error_reporting() in PHP
Given below is the example:
Code:
<?php $a = 1; trigger_error("user warning!", E_USER_WARNING); $a = 2; echo "Value of $a is ${$a}"; error_reporting(0); error_reporting(E_ALL); ?>
Output:
Advantages of using error_reporting function in PHP
- error_reporting is good for debugging purposes and for developing web application.
- Each and every error can be logged and fixed as soon as it happens using this function.
- To not show it to the end-user, make sure you redirect the errors to a log file while releasing it.
Conclusion
Hence we can say that error_reporting() function in PHP are therefore helpful in cases when there are a lot of problems with the PHP web application and we need to display all of these errors and warnings either for development or debugging purposes. It is a function we can enable different kinds of warnings or error messages and most of them are as discussed above.
以上是PHP 中的 error_reporting()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。
