溫馨提示×

溫馨提示×

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

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

php調(diào)試錯誤的方法

發(fā)布時間:2020-10-16 09:25:26 來源:億速云 閱讀:185 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關php調(diào)試錯誤的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

php調(diào)試錯誤的方法:首先啟動錯誤報告;然后使用print語句調(diào)試程序;最后通過前綴字符“@”屏蔽PHP腳本錯誤提示即可。

php錯誤調(diào)試

一、php錯誤級別

一般來說,php錯誤有三個級別:notice、warning、error。

1、notice:notice錯誤可能是腳本運行時導致的,也可能是在正常運行過程中出現(xiàn)的。實際上這也許是代碼的缺陷,因為PHP對其解釋可能與代碼的本義有所不同。

2、warning:是一個非致命性地錯誤,在代碼運行時候產(chǎn)生。它們并不是致命的錯誤,不會停止腳本的執(zhí)行。

3、error:說明出現(xiàn)了致命的錯誤,會導致腳本運行停止。PHP運行的任何階段都有可能出現(xiàn)這種錯誤。包括初始化、解析和執(zhí)行代碼階段。

二、啟動錯誤報告

1、修改php.ini

display_errors=On
error_reporting = E_ALL & ~E_NOTICE

2、重啟Apache服務器

三、使用print語句調(diào)試程序

1、代碼

<form name="form1" method="post" action="">
  <input name="txt_key" type="text" id="txt_key">
  <input type="submit" name="Submit" value="搜索">
</form>
<?php
if($_POST[Submit]=="搜索"){
$key=$_POST[txt_key];//獲取文本框的值
print $key;
}
?>

2、運行結(jié)果

四、應用前綴字符@屏蔽PHP腳本錯誤提示

1、代碼

<?php
$file="book.php";//定義操作文件 
@fread($file) or die("文件讀取失??!"); 
fclose($file); 
echo "我不能被輸出了!程序運行后,前綴字符@后面的命令不被顯示!";
?>

2、運行結(jié)果

文件讀取失?。?/p>

五 使用錯誤處理器記錄日志

1、配置php.ini,然后重啟Apache服務器

error_log = D:\AppServ\php5\php_errors.log

2、代碼

<?php
function err_log($error,$error_str){//自定義一個錯誤處理函數(shù)
$file="php_error.log";
if(filesize($file)>1024){//如果日志文件大于1024KB
rename($file,$file.(string)time());//以時間為準繩對日志文件進行重命名
clearstatcache();//清除文件狀態(tài)緩存
}
error_log($error_str,0,$file);//將出錯信息記錄到管理員所指定的路徑
}
set_error_handler('err_log');//執(zhí)行自定義函數(shù)log_roller()函數(shù)
trigger_error(time().":程序報錯.\n");//發(fā)出錯誤信息
restore_error_handler();//重新編譯這個預錯處理的函數(shù)
?>

3、運行結(jié)果

打開php_errors.log文件

[09-Apr-2017 13:46:52 Asia/Hong_Kong] 1491716812:程序報錯.

關于php調(diào)試錯誤的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

php
AI