ホームページ >バックエンド開発 >PHPの問題 >PHPでエラーをデバッグする方法

PHPでエラーをデバッグする方法

藏色散人
藏色散人オリジナル
2020-10-15 11:26:542087ブラウズ

PHP でエラーをデバッグする方法: 最初にエラー レポートを開始し、次に print ステートメントを使用してプログラムをデバッグし、最後にプレフィックス文字「@」を使用して PHP スクリプト エラー プロンプトをシールドします。

PHPでエラーをデバッグする方法

# 推奨: 「

PHP ビデオ チュートリアル

php エラーのデバッグ

1. PHP エラー レベル

# 一般に、PHP エラーには通知、警告、エラーの 3 つのレベルがあります。

1. 注意: エラーは、スクリプトの実行中に発生する場合もあれば、通常の操作中に発生する場合もあります。実際、これはコードの欠陥である可能性があります。PHP による解釈がコードの本来の意味と異なる可能性があるためです。

2. 警告: これは、コードの実行中に発生する致命的ではないエラーです。これらは致命的なエラーではなく、スクリプトの実行を停止しません。

3. エラー: 致命的なエラーが発生し、スクリプトの実行が停止したことを示します。このエラーは、PHP 操作のどの段階でも発生する可能性があります。初期化、解析、および実行コードフェーズが含まれます。

2. エラー レポートを開始します

1. php.ini を変更します

display_errors=On
error_reporting = E_ALL & ~E_NOTICE

2. Apache サーバーを再起動します

3. 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. 実行結果

4. プレフィックス文字@をシールドPHPスクリプトに適用しますエラー プロンプト

1. コード

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

2. 実行結果

ファイルの読み取りに失敗しました。

5 エラー ハンドラーを使用してログを記録する

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。