検索
ホームページバックエンド開発PHPチュートリアルPHP での error_reporting() の使用法の詳細な説明、phperrorreporting_PHP チュートリアル

PHP での error_reporting() の使用法の詳細な説明 phperrorreporting

error_reporting() 関数は、レポートするエラーを指定します。この関数は、現在のスクリプトのエラー報告レベルを設定します。この関数は古いエラー報告レベルを返します。

まず、error_reporting() 関数がエラー レベルを設定し、現在のレベルを返すために使用されることを知っておく必要があります。次の 14 のエラー レベルがあります:

リーリー

デフォルトではphpが有効になっていないようですので、php.iniファイルを設定する必要があります:

display_errors = Off を display_errors = On に変更します

エラーレベルも設定します: 変更します

error_reporting = E_ALL に変更されました:

error_reporting = E_ALL & ~E_NOTICE

PHP はデフォルトですべてのエラーを表示するはずですが、無害なプロンプトを表示する必要はないので、設定は上記の通りです。

次のように PHP コードでも使用できます:

リーリー

使用例:

今日 CI フレームワークを学習中に問題が発生しました:

リーリー

通常、デフォルトの通常の PHP ファイルで未定義の宣言された変数を出力する場合、エラーは報告されませんが、codeigniter フレームワークではエラーが報告されます。これは、ページの追加と変更を統合したい「怠け者」にとっては非常に不快です。便利です。私は初心者なので、コード内でこのエラー メッセージをブロックしたいと思っています。@ も使用しましたが、@ を使用するとパフォーマンスが大幅に低下すると多くの人が言っています...

最後に、codeigniter は意図的にこのエラー メッセージを表示しているのではないかと思いました。この種のエラーをブロックするにはどうすればよいでしょうか? .php の error_reporting(E_ALL); を
に変更するだけです。 error_reporting(E_ALL ^ E_NOTICE); このエラーは、他のエラーに影響を与えることなくブロックできます。

このような機能はプログラムでよく見かけるかもしれません


リーリー

例:

Windows 環境: もともと php4.3.0 では正常に動作していたプログラムが、4.3.1 では多くのエラーが報告されるのはなぜですか? 一般的なプロンプトは次のとおりです: Notice: 未定義の varialbe: 変数名

たとえば、次のコード:

コードは次のとおりです コードをコピーします
if (!$tmp_i) {
$tmp_i=10;
}
4.3.0 では正常に実行されますが、4.3.1 で実行すると、「通知: 未定義の変数: tmp_i
」というメッセージが表示されます。 質問は次のとおりです。 1. 問題はどこにありますか?
2. このコードはどのように変更する必要がありますか?
3. コードを変更せずに、php.ini の設定を変更して、4.3.0 の元のプログラムを 4.3.1 環境でこのエラー メッセージが表示されずに正常に実行できるようにする方法。
解決策:

プログラムの冒頭に文を追加します:

コードは次のとおりです コードをコピーします
error_reporting(E_ALL & ~E_NOTICE); または error_reporting(E_ALL ^ E_NOTICE);
または、php.ini を変更します:
コードは次のとおりです コードをコピーします
error_reporting = E_ALL & ~E_NOTICE
error_reporting() 関数について: error_reporting() は、PHP のエラー レベルを設定し、現在のレベルを返します。
; エラー報告はビット単位で行われます。または、数値を合計して、必要なエラー報告レベルを取得します。
; E_ALL - すべてのエラーと警告
; E_ERROR - 致命的な実行時エラー
; E_WARNING - 実行時警告 (致命的ではないエラー)
; E_PARSE - コンパイル時の解析エラー
; E_NOTICE - 実行時アラート (これらは多くの場合、コード内のバグによって引き起こされるか、意図的な動作によって引き起こされる可能性があります。(例: 自動的に空の文字列に初期化されるという事実に基づいて、初期化されていない変数を使用する)
; E_CORE_ERROR - PHP 起動時の初期化プロセス中に発生する致命的なエラー
; E_CORE_WARNING - PHP 起動時の初期化プロセス中に発生する警告 (致命的ではないエラー)
; E_COMPILE_ERROR - 致命的なコンパイル時エラー
; E_COMPILE_WARNING - コンパイル時の警告 (致命的ではないエラー)
; E_USER_ERROR - ユーザーが生成したエラー メッセージ
; E_USER_WARNING - ユーザーが生成した警告メッセージ
; E_USER_NOTICE - ユーザーが生成したリマインダーメッセージ
E_NOTICE は、通常の状況が記録されないことを意味し、存在しない変数にアクセスしようとしたり、存在しないファイルを表示するために stat() 関数を呼び出したりするなど、プログラムにエラーが発生した場合にのみ使用されます。
通常、E_WARNING が表示されますが、プログラムの実行は中断されません。これはデバッグに役立ちます。たとえば、問題のある正規表記を使用して ereg() を呼び出します。
通常は E_ERROR が表示され、プログラムの実行が中断されます。これは、このマスクを使用してメモリ構成やその他のエラーを追跡できないことを意味します。
E_PARSE 構文のエラーを解析します。
E_CORE_ERROR E_ERROR と似ていますが、PHP コアによって引き起こされるエラーは除外されます。
E_CORE_WARNING E_WARNING と似ていますが、PHP コアエラー警告は含まれません

使用方法:
error_reporting(0);//エラー報告を無効にする
error_reporting(E_ALL ^ E_NOTICE);//E_NOTICE を除くすべてのエラー メッセージを表示します
error_reporting(E_ALL^E_WARNING^E_NOTICE);//E_WARNING E_NOTICE を除くすべてのエラー メッセージを表示します
error_reporting(E_ERROR | E_WARNING | E_PARSE);//実行時エラーを表示します。これは error_reporting(E_ALL ^ E_NOTICE); と同じ効果があります。 error_reporting(E_ALL);//すべてのエラーを表示
エラー報告(0)
エラー報告(255);
はい、すべてのヒントをリストします
エラー報告(0);
すべてのプロンプトを表示しない
使用をお勧めします
エラー報告(7);
重大なエラーのみを表示
1 E_ERROR 致命的なランタイムエラー
2 E_WARNING 実行時警告 (致命的ではないエラー)
4 E_PARSE コンパイル時解析エラー
8 E_NOTICE 実行時リマインダー (多くの場合バグ、おそらく意図的)
16 E_CORE_ERROR PHP 起動時の初期化中に致命的なエラーが発生しました
32 E_CORE_WARNING PHP 起動時の初期化処理中の警告 (致命的ではないエラー)
64 E_COMPILE_ERROR コンパイル中の致命的なエラー
128 E_COMPILE_WARNING コンパイル時間の警告 (致命的ではないエラー)
256 E_USER_ERROR ユーザー定義の致命的なエラー
512 E_USER_WARNING ユーザー定義の警告 (致命的ではないエラー)
1024 E_USER_NOTICE ユーザー定義のリマインダー (多くの場合バグ、意図的なものである可能性があります)
2048 E_STRICT エンコーディング標準化の警告 (上位互換性のために推奨される変更方法)
4096 E_RECOVERABLE_ERROR は、致命的に近い実行時エラーです。捕捉されない場合、E_ERROR
として扱われます。 6143 E_ALL E_STRICT を除くすべてのエラー (PHP6 では 8191、すべてを含む)

www.bkjia.com本当http://www.bkjia.com/PHPjc/1050138.html技術記事 PHP での error_reporting() の使用法の詳細な説明 phperrorreporting error_reporting() 関数は、レポートするエラーを指定します。この関数は、現在のスクリプトのエラー報告レベルを設定します。この関数は古いエラーを返します...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境