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

PHP での error_reporting() の使用法の詳細な説明、phperrorreporting_PHP チュートリアル

Jul 13, 2016 am 09:44 AM
error 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 までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles