這篇文章將為大家詳細(xì)講解有關(guān)php調(diào)試錯(cuò)誤的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供塔城網(wǎng)站建設(shè)、塔城做網(wǎng)站、塔城網(wǎng)站設(shè)計(jì)、塔城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、塔城企業(yè)網(wǎng)站模板建站服務(wù),10年塔城做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。php調(diào)試錯(cuò)誤的方法:首先啟動(dòng)錯(cuò)誤報(bào)告;然后使用print語(yǔ)句調(diào)試程序;最后通過(guò)前綴字符“@”屏蔽PHP腳本錯(cuò)誤提示即可。
php錯(cuò)誤調(diào)試
一、php錯(cuò)誤級(jí)別
一般來(lái)說(shuō),php錯(cuò)誤有三個(gè)級(jí)別:notice、warning、error。
1、notice:notice錯(cuò)誤可能是腳本運(yùn)行時(shí)導(dǎo)致的,也可能是在正常運(yùn)行過(guò)程中出現(xiàn)的。實(shí)際上這也許是代碼的缺陷,因?yàn)镻HP對(duì)其解釋可能與代碼的本義有所不同。
2、warning:是一個(gè)非致命性地錯(cuò)誤,在代碼運(yùn)行時(shí)候產(chǎn)生。它們并不是致命的錯(cuò)誤,不會(huì)停止腳本的執(zhí)行。
3、error:說(shuō)明出現(xiàn)了致命的錯(cuò)誤,會(huì)導(dǎo)致腳本運(yùn)行停止。PHP運(yùn)行的任何階段都有可能出現(xiàn)這種錯(cuò)誤。包括初始化、解析和執(zhí)行代碼階段。
二、啟動(dòng)錯(cuò)誤報(bào)告
1、修改php.ini
display_errors=On error_reporting = E_ALL & ~E_NOTICE
2、重啟Apache服務(wù)器
三、使用print語(yǔ)句調(diào)試程序
1、代碼
2、運(yùn)行結(jié)果
四、應(yīng)用前綴字符@屏蔽PHP腳本錯(cuò)誤提示
1、代碼
2、運(yùn)行結(jié)果
文件讀取失??!
五 使用錯(cuò)誤處理器記錄日志
1、配置php.ini,然后重啟Apache服務(wù)器
error_log = D:\AppServ\php5\php_errors.log
2、代碼
1024){//如果日志文件大于1024KB rename($file,$file.(string)time());//以時(shí)間為準(zhǔn)繩對(duì)日志文件進(jìn)行重命名 clearstatcache();//清除文件狀態(tài)緩存 } error_log($error_str,0,$file);//將出錯(cuò)信息記錄到管理員所指定的路徑 } set_error_handler('err_log');//執(zhí)行自定義函數(shù)log_roller()函數(shù) trigger_error(time().":程序報(bào)錯(cuò).\n");//發(fā)出錯(cuò)誤信息 restore_error_handler();//重新編譯這個(gè)預(yù)錯(cuò)處理的函數(shù) ?>
3、運(yùn)行結(jié)果
打開(kāi)php_errors.log文件
[09-Apr-2017 13:46:52 Asia/Hong_Kong] 1491716812:程序報(bào)錯(cuò).
關(guān)于php調(diào)試錯(cuò)誤的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。