首頁 >後端開發 >PHP問題 >php怎麼偵錯錯誤

php怎麼偵錯錯誤

藏色散人
藏色散人原創
2020-10-15 11:26:542087瀏覽

php偵錯錯誤的方法:先啟動錯誤報告;然後使用print語句偵錯程式;最後透過前綴字元「@」封鎖PHP腳本錯誤提示即可。

php怎麼偵錯錯誤

推薦:《PHP影片教學

php錯誤偵錯

一、php錯誤等級

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

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

2、warning:是一個非致命性地錯誤,在程式碼執行時產生。它們並不是致命的錯誤,不會停止腳本的執行。

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

二、啟動錯誤回報

1、修改php.ini

display_errors=On
error_reporting = E_ALL & ~E_NOTICE

2、重啟Apache伺服器

三、使用print語句調試程式

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、執行結果

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

1、程式碼

<?php
$file="book.php";//定义操作文件 
@fread($file) or die("文件读取失败!"); 
fclose($file); 
echo "我不能被输出了!程序运行后,前缀字符@后面的命令不被显示!";
?>

 

###2、執行結果######檔案讀取失敗! ######五使用錯誤處理器記錄日誌######1、設定php.ini,然後重新啟動Apache伺服器###
error_log = D:\AppServ\php5\php_errors.log
###2、程式碼###
<?php
function err_log($error,$error_str){//自定义一个错误处理函数
$file="php_error.log";
if(filesize($file)>1024){//如果日志文件大于1024KB
rename($file,$file.(string)time());//以时间为准绳对日志文件进行重命名
clearstatcache();//清除文件状态缓存
}
error_log($error_str,0,$file);//将出错信息记录到管理员所指定的路径
}
set_error_handler(&#39;err_log&#39;);//执行自定义函数log_roller()函数
trigger_error(time().":程序报错.\n");//发出错误信息
restore_error_handler();//重新编译这个预错处理的函数
?>
### #### ###3、運行結果######開啟php_errors.log檔######[09-Apr-2017 13:46:52 Asia/Hong_Kong] 1491716812:程式報錯.###

以上是php怎麼偵錯錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn