查看方法:1、配置“php.ini”文件;2、使用phpinfo()命令查看錯(cuò)誤日志地址;3、使用“vi /etc/php.ini”命令查看日志位置;4、使用“tail -f -50 /var/php_errors.log”查看日志。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
對(duì)于我們做php開(kāi)發(fā)的人員,上了生產(chǎn)環(huán)境,一定要把相關(guān)debug,display_errors錯(cuò)誤提示等關(guān)掉。誰(shuí)還難免不犯?jìng)€(gè)錯(cuò)呢?這樣能防止非致命性報(bào)錯(cuò)下,導(dǎo)致項(xiàng)目路徑、數(shù)據(jù)庫(kù)等信息泄漏。那么問(wèn)題來(lái)了,我們?cè)谏a(chǎn)中該如何查看php等相關(guān)錯(cuò)誤呢? 其實(shí)可以在錯(cuò)誤日志里查看(error.log 或直接發(fā)送到syslog)。
下面就如何配置和查看日志作出簡(jiǎn)單敘述。
一.相關(guān)配置
需要將php.ini
中的配置指令做如下修改:
error_reporting=E_ALL;//將會(huì)向PHP報(bào)告發(fā)生的每個(gè)錯(cuò)誤 display_errors=Off;//不顯示滿足上條 指令所定義規(guī)則的所有錯(cuò)誤報(bào)告 log_errors=On;//開(kāi)啟錯(cuò)誤日志 log_errors_max_len=1024;//設(shè)置每個(gè)日志項(xiàng)的最大長(zhǎng)度 error_log=/var/php_errors.log;//指定產(chǎn)生的錯(cuò)誤報(bào)告寫(xiě)入的日志文件位置
PHP的配置文件按上面的方式設(shè)置完成以后,并重新啟動(dòng)Web服務(wù)器。這樣,在執(zhí)行PHP的任何腳本文件時(shí),所產(chǎn)生的所有錯(cuò)誤報(bào)告都不會(huì)在瀏覽器中顯示,而會(huì)記錄在自己指定的錯(cuò)誤日志/usr/local/error.log
中。
此外,不僅可以記錄滿足error_reporting
所定義規(guī)則的所有錯(cuò)誤,而且還可以使用PHP中的error_log()
函數(shù),送出一個(gè)用戶自定義的錯(cuò)誤信息 。
二.查看存放地址
1.通過(guò)php.ini來(lái)查看錯(cuò)誤日志存放地址
echo '<?php phpinfo(); ?>' | php 2>&1 |grep -i error_log
或者在一個(gè)php文件中輸出 phpinfo();
查看錯(cuò)誤日志存放位置
2.查看日志存放位置
vi /etc/php.ini
3.查看日志:
tail -f -50 /var/php_errors.log
除了一般的錯(cuò)誤輸出之外,PHP還允許向系統(tǒng)syslog
中發(fā)送定制的消息。雖然通過(guò)前面介紹的error_log()
函數(shù),也可以向syslog
中發(fā)送定制的消息,但在PHP中為這個(gè)特性提供了需要一起使用的4個(gè)專用函數(shù),這里就不介紹了。
推薦學(xué)習(xí):php視頻教程