欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php如何設(shè)置錯(cuò)誤日志

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

創(chuàng)新互聯(lián)公司專注于巴楚網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供巴楚營銷型網(wǎng)站建設(shè),巴楚網(wǎng)站制作、巴楚網(wǎng)頁設(shè)計(jì)、巴楚網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造巴楚網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供巴楚網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

設(shè)置方法:打開php.ini文件,設(shè)置“error_reporting=E_ALL”、“display_errors=Off”、“l(fā)og_errors=On”、“error_log = E:/php_log/php_error.log”等。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

對于 PHP 開發(fā)者來說,一旦某個(gè)項(xiàng)目投入使用,應(yīng)該立即將配置文件 php.ini 中的 display_errors 選項(xiàng)關(guān)閉,以免因?yàn)檫@些錯(cuò)誤所透露的路徑、數(shù)據(jù)庫連接、數(shù)據(jù)表等信息而遭到黑客攻擊。但是任何一個(gè)項(xiàng)目在投入使用后,都難免會有錯(cuò)誤出現(xiàn),那么如何記錄一些對開發(fā)者有用的錯(cuò)誤報(bào)告呢?

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

錯(cuò)誤報(bào)告默認(rèn)會記錄到 Web 服務(wù)器的日志文件里,例如記錄到 Apache 服務(wù)器的錯(cuò)誤日志文件 error.log 中。當(dāng)然也可以將錯(cuò)誤日志記錄到指定的文件中。

使用指定的文件記錄錯(cuò)誤報(bào)告日志

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

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

error_reporting  =  E_ALL                             // 將會向PHP報(bào)告發(fā)生的每個(gè)錯(cuò)誤  
display_errors = Off                                     // 不顯示滿足上條 指令所定義規(guī)則的所有錯(cuò)誤報(bào)告  
log_errors = On                                           // 決定日志語句記錄的位置  
log_errors_max_len = 1024                         // 設(shè)置每個(gè)日志項(xiàng)的最大長度  
error_log = E:/php_log/php_error.log         // 指定產(chǎn)生的錯(cuò)誤報(bào)告寫入的日志文件位置

PHP 的配置文件按上面的方式設(shè)置完成以后,并重新啟動(dòng) Web 服務(wù)器。這樣,在執(zhí)行 PHP 的任何腳本文件時(shí),產(chǎn)生的所有錯(cuò)誤報(bào)告都不會在瀏覽器中顯示,而會記錄在自己指定的錯(cuò)誤日志 E:/php_log/php_error.log 中。

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

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

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

參數(shù)說明如下:

  • $message:需要記錄的錯(cuò)誤信息;

  • $message_type:設(shè)置錯(cuò)誤應(yīng)該發(fā)送到何處。可能的信息類型有以下幾個(gè):

    • 0:(默認(rèn)值)將 $message 發(fā)送到 PHP 的系統(tǒng)日志,使用操作系統(tǒng)的日志機(jī)制或者一個(gè)文件,取決于配置文件中 error_log 設(shè)置了什么;

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

    • 2:(已廢棄)不再是一個(gè)選項(xiàng);

    • 3:$message 被發(fā)送到位置為 $destination 的文件里。字符 $message 不會默認(rèn)被當(dāng)做新的一行;

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

  • $destination:目標(biāo),也就是錯(cuò)誤消息被發(fā)送到的目的地。它的含義描述于以上,由 $message_type 參數(shù)所決定;

  • $extra_headers:額外的頭。當(dāng) $message_type 設(shè)置為 1 的時(shí)候使用。 該信息類型使用了 mail() 的同一個(gè)內(nèi)置函數(shù)。

【示例】以登入 MySQL 數(shù)據(jù)庫為例,當(dāng)?shù)侨胧r(shí)記錄錯(cuò)誤信息。

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

運(yùn)行上面的代碼,會在 php.ini 配置文件中 error_log 一項(xiàng)所設(shè)置的目錄中生成對應(yīng)的錯(cuò)誤日志文件,文件內(nèi)容如下:

[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 數(shù)據(jù)庫連接失敗!

感謝各位的閱讀,以上就是“php如何設(shè)置錯(cuò)誤日志”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對php如何設(shè)置錯(cuò)誤日志這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

分享題目:php如何設(shè)置錯(cuò)誤日志
新聞來源:http://www.chinadenli.net/article2/ihhpic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃品牌網(wǎng)站制作虛擬主機(jī)手機(jī)網(wǎng)站建設(shè)網(wǎng)站營銷品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司