亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何設置錯誤日志

發布時間:2021-07-21 10:27:58 來源:億速云 閱讀:172 作者:chen 欄目:編程語言

這篇文章主要講解了“php如何設置錯誤日志”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php如何設置錯誤日志”吧!

設置方法:打開php.ini文件,設置“error_reporting=E_ALL”、“display_errors=Off”、“log_errors=On”、“error_log = E:/php_log/php_error.log”等。

本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦

對于 PHP 開發者來說,一旦某個項目投入使用,應該立即將配置文件 php.ini 中的 display_errors 選項關閉,以免因為這些錯誤所透露的路徑、數據庫連接、數據表等信息而遭到黑客攻擊。但是任何一個項目在投入使用后,都難免會有錯誤出現,那么如何記錄一些對開發者有用的錯誤報告呢?

我們可以在單獨的文本文件中將錯誤報告作為日志記錄。錯誤日志的記錄,可以幫助開發人員或者管理人員查看系統是否存在問題。如果需要將程序中的錯誤報告寫入錯誤日志中,只要在 PHP 的配置文件中,將配置項 log_errors 開啟即可。

錯誤報告默認會記錄到 Web 服務器的日志文件里,例如記錄到 Apache 服務器的錯誤日志文件 error.log 中。當然也可以將錯誤日志記錄到指定的文件中。

使用指定的文件記錄錯誤報告日志

如果想使用自己指定的文件記錄錯誤日志,一定要確保這個文件存放在文檔根目錄之外,以減少遭到攻擊的可能。并且該文件一定要讓 PHP 腳本具有寫權限。假設在 Linux 操作系統中,將 /usr/local/ 目錄下的 error.log 文件作為錯誤日志文件,并設置 Web 服務器進程用戶具有寫的權限。然后在 PHP 的配置文件中,將 error_log 指令的值設置為這個錯誤日志文件的絕對路徑。

需要將 php.ini 中的配置指令做如下修改:

error_reporting  =  E_ALL                             // 將會向PHP報告發生的每個錯誤  
display_errors = Off                                     // 不顯示滿足上條 指令所定義規則的所有錯誤報告  
log_errors = On                                           // 決定日志語句記錄的位置  
log_errors_max_len = 1024                         // 設置每個日志項的最大長度  
error_log = E:/php_log/php_error.log         // 指定產生的錯誤報告寫入的日志文件位置

PHP 的配置文件按上面的方式設置完成以后,并重新啟動 Web 服務器。這樣,在執行 PHP 的任何腳本文件時,產生的所有錯誤報告都不會在瀏覽器中顯示,而會記錄在自己指定的錯誤日志 E:/php_log/php_error.log 中。

此外,不僅可以記錄滿足 error_reporting 所定義規則的所有錯誤,而且還可以使用 PHP 中的 error_log() 函數把錯誤信息發送到 web 服務器的錯誤日志或者到一個文件里。

error_log() 函數的原型如下所示:

error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) : bool

參數說明如下:

  • $message:需要記錄的錯誤信息;

  • $message_type:設置錯誤應該發送到何處。可能的信息類型有以下幾個:

    • 0:(默認值)將 $message 發送到 PHP 的系統日志,使用操作系統的日志機制或者一個文件,取決于配置文件中 error_log 設置了什么;

    • 1:將 $message 發送到參數 $destination 設置的郵件地址。 第四個參數 $extra_headers 只有在這個類型里才會被用到;

    • 2:(已廢棄)不再是一個選項;

    • 3:$message 被發送到位置為 $destination 的文件里。字符 $message 不會默認被當做新的一行;

    • 4:將 $message 直接發送到 SAPI 的日志處理程序中。

  • $destination:目標,也就是錯誤消息被發送到的目的地。它的含義描述于以上,由 $message_type 參數所決定;

  • $extra_headers:額外的頭。當 $message_type 設置為 1 的時候使用。 該信息類型使用了 mail() 的同一個內置函數。

【示例】以登入 Mysql 數據庫為例,當登入失敗時記錄錯誤信息。

<?php
    $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
    if (!$link) {
        error_log('Mysql 數據庫連接失敗!',0);
        exit();
    }
?>

運行上面的代碼,會在 php.ini 配置文件中 error_log 一項所設置的目錄中生成對應的錯誤日志文件,文件內容如下:

[08-May-2020 13:17:31 PRC] PHP Warning:  mysqli_connect(): (HY000/1045): Access denied for user 'my_user'@'localhost' (using password: YES) in D:\WWW\index.php on line 2
[08-May-2020 13:17:31 PRC] Mysql 數據庫連接失敗!

感謝各位的閱讀,以上就是“php如何設置錯誤日志”的內容了,經過本文的學習后,相信大家對php如何設置錯誤日志這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿拉善左旗| 手机| 镇康县| 彩票| 封开县| 新建县| 伊金霍洛旗| 依兰县| 乌兰察布市| 彭州市| 阿瓦提县| 应城市| 阳泉市| 蚌埠市| 昌宁县| 陇西县| 阿拉善盟| 邹城市| 天峻县| 灯塔市| 建昌县| 白城市| 睢宁县| 本溪市| 张家口市| 富裕县| 拉孜县| 米林县| 会理县| 汤阴县| 海林市| 合作市| 西平县| 台东县| 长岛县| 中西区| 常山县| 神木县| 政和县| 眉山市| 册亨县|