PHPエラー

Jun 23, 2016 pm 02:36 PM
PHPエラー

これらの関数の動作は、php.ini の設定の影響を受けます。

エラーとログの構成オプション 名前のデフォルトは変更ログです ignore_repeat_source"0"PHP_INI_ALL PHP 4 以降で利用可能。 3.0.report_memleaks"1 "PHP_INI_ALL PHP 4.3.0 以降で利用可能です。track_errors"0"PHP_INI_ALLhtml_error s" 1"PHP_INI_ALLPHP_INI_SYSTEM (PHP xmlrpc_errors"0"PHP_INI_SYSTEMPHP 4.1.0 以降で利用可能。xmlrpc_error_number"0" PHP_INI_ALL PHP 4.1.0 以降で利用可能docref_root ""PHP_INI_ALL PHP 4.3.0 以降で利用可能です。""NULLNULLNULLPHP_INI_* スタイルの詳細と定義については、「構成設定を設定できる場所」を参照してください。

これは、設定ディレクティブの簡単な説明です。

error_reporting integer

エラー報告のレベルを設定します。このパラメータには、バイナリ ビット フィールドを表す任意の整数、または定数名を指定できます。エラーレベルと定数は事前定義定数で定義されており、php.ini には特別な指示もあります。プログラムの実行中に、error_reporting() 関数を通じて設定することもできます。詳細については、display_errors を参照してください。

PHP 4 および PHP 5 では、デフォルト値は E_ALL & ~E_NOTICE です。 この設定は、E_NOTICE を除いて表示されるエラー レベルを示します。開発時に表示する必要があります。

注:

開発段階で E_NOTICE を有効にすることにはいくつかの利点があります。デバッグ目的: 通知メッセージは、コード内のバグの可能性を警告します。たとえば、事前に割り当てられて定義されていない値を使用すると、警告が表示されます。これはタイプミスを見つけるのに役立ち、デバッグの時間を節約できます。通知メッセージでは、より適切なコーディング スタイルを使用するよう警告することもあります。たとえば、PHP は「item」を定数として処理しようとするため、$arr[item] は $arr['item'] と記述する方が適切です。定数でない場合、PHP はそれを配列の文字列インデックスとして扱います。

注:

PHP 5 では、新しいエラー レベル E_STRICT が提供されます。 E_STRICT は E_ALL に含まれていないため、このカテゴリのエラー メッセージを表示するには、E_STRICT を明示的に有効にする必要があります。開発中に E_STRICT を有効にすることにはいくつかの利点があります。厳密な情報は、推奨される最新の方法を使用してコードを作成するのに役立ちます。たとえば、非推奨になる関数の使用について警告します。

注: PHP の外部での PHP 定数

PHP の外部で PHP 定数を使用することは無意味です。たとえば、httpd.conf では、代わりに定数に対応する整数値を使用する必要があります。時間の経過と PHP の進化により、より多くのエラー レベルが追加されるため、最大エラー レベル (E_ALL) が変更される可能性があります。したがって、整数値に対応するために E_ALL が使用される場合は、使用する必要がある現在および将来のバイナリ ビット フィールドをカバーするために、値 2147483647 などのより大きな値を使用することを検討する必要があります (これには、E_ALL だけでなくすべてのエラーが含まれます)。 ).

display_errors string

このオプションは、エラー メッセージを出力の一部として画面に表示するか、表示せずにユーザーに対して非表示にするかを設定します。

「stderr」を設定すると、stdout ではなく stderr に送信されます。 「stderr」は、PHP 5.2.4 以降で利用可能です。以前のバージョンでは、この構成値のタイプはブール型でした。

注:

これは開発支援機能であり、運用システムでは決して使用しないことをお勧めします (たとえば、システムは外部情報を提供するためにインターネットに接続されています)サービス)。

注:

display_errors は実行時に (ini_set() を使用して) 設定することもできますが、スクリプトで致命的なエラーが発生すると、実行時の設定は無効になります。 この場合、期待された操作が実行されないためです。

display_startup_errors boolean

display_errors が on に設定されていても、PHP 起動時のエラー メッセージは表示されません。デバッグ目的を除き、display_startup_errors をオフに設定することを強くお勧めします。

log_errors boolean

実行中のスクリプトのエラー情報をサーバーエラーログまたはerror_logに記録するかどうかを設定します。これはサーバー固有の構成項目であることに注意してください。

注:

運用システムでは、Web サイトに表示されるエラー メッセージを記録するためにエラー ログを使用することを強くお勧めします。

log_errors_max_len integer

error_log に追加される log_errors の最大バイト数を設定します。デフォルト値は 1024 です。0 に設定すると、長さに制限はありません。この長さの設定は、ログに記録されるエラー、表示されるエラー、および $php_errormsg に制限的な影響を与えます。

integer を使用する場合、その値はバイト単位で測定されます。 FAQ に記載されている短縮表記を使用することもできます。 ignore_repeat_errors boolean

繰り返される情報を記録しません。 ignore_repeat_source が true に設定されていない限り、エラーが繰り返される場合は、同じファイル内のコードの同じ行で発生する必要があります。

ignore_repeat_source boolean

繰り返されるメッセージを無視する場合、メッセージのソースも無視されます。この設定がオンの場合、重複メッセージは、別のファイルまたは別のソース コード行によって生成されたかどうかを記録しません。

report_memleaks boolean

このパラメータが Off に設定されている場合、メモリ リーク情報は (標準出力またはログに) 表示されません。このチームのデバッグとコンパイルは効果的であり、error_reporting が機能するには E_WARNING が含まれている必要があります

track_errors boolean

オンにすると、最後のエラーが常に変数 $php_errormsg に存在します。

html_errors boolean

エラー メッセージ内の HTML タグを閉じます。この新しい HTML 形式のエラー メッセージはクリック可能で、エラーまたはエラーの原因となった機能を説明するリファレンス ページにユーザーを誘導します。 これらの参照は、docref_root および docref_ext の設定に関連しています。

xmlrpc_errors boolean

通常のエラー レポートをオフにし、エラーを XML-RPC エラー メッセージの形式にフォーマットします。

xmlrpc_error_number integer

XML-RPC fastCode 要素の値として使用されます。

docref_root 文字列

新しいエラー メッセージ形式には、エラーの詳細を説明する、またはエラーの原因となった関数を説明する、対応するリファレンス ページが含まれています。マニュアルページを提供するには、PHP 公式サイトから対応する言語のマニュアルをダウンロードし、ini 内の URL をローカルの対応するアドレスに設定します。 「/manual/」を使用してマニュアルのローカル コピーにアクセスできる場合は、単に docref_root=/manual/ を設定するだけで済みます。さらに、ローカル ファイル docref_ext=.html のサフィックスと一致するように docref_ext を設定する必要もあります。もちろん、外部参照アドレスを設定することもできます。たとえば、 docref_root=http://manual/en/ または docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F" と設定できます。 "

通常、docref_root は「/」で終わる必要がありますが、上記の 2 番目の例ではその必要はありません。

注:

これにより、関数の説明をすばやく見つけて表示できるため、開発に非常に役立ちます。運用システムでは決して使用しないことをお勧めします (たとえば、システムが外部サービスを提供するためにインターネットに接続されているなど)。

docref_ext 文字列

docref_root を参照してください。

注:

docref_ext の値は「.」で始まる必要があります。

error_prepend_string 文字列

エラー メッセージの前に出力される内容。

error_append_string string

エラーメッセージの後に出力される内容。

error_log string

スクリプトエラーが記録されるファイルを設定します。このファイルは、Web サーバー ユーザーが書き込み可能である必要があります。特別な値 syslog が設定されている場合、エラー メッセージがシステム ロガーに送信されます。 Unix および同様のシステムでは syslog(3) が使用され、Windows NT のようなシステムではイベント ログが使用されます。システム ログは Windows 95 ではサポートされていません。参照: syslog()。この設定が設定されていない場合、エラー メッセージが SAPI エラー ロガーに送信されます。たとえば、Apache のエラー ログに表示されたり、CLI の stderr に送信されたりします。



リソース タイプ インストール[編集] 最終更新日: 2012 年 2 月 24 日金曜日

メモを追加 ユーザー投稿メモ ランタイム設定

nospam dot com のブブ 11-Jul- 2011 02:06

error_reporting(); を呼び出す前に session_start() を呼び出さないでください

// は正しく動作しません
error_reporting(NULL);

// は動作します
error_reporting( NULL) );

?> 標準エラー ストリーム)、これは CLI で PHP を使用している場合に問題になる可能性があります。 display_errors','On');

ini_set ('error_log','my_file.log');

ini_set('error_log',''); i);

ini_set('error_log', '/dev/null'); #linux foreach(1 as $i)?>

php -f test.php

は次のように出力されます。
警告: /test.php の 7 行目で foreach() に指定された引数が無効です # stdout
PHP 警告: /test.php の 10 行目で foreach() に指定された引数が無効です # stderr
警告: foreach( に指定された引数が無効です) /test.php の 10 行目 # stdout
警告: /test.php の 13 行目で foreach() に指定された引数が無効です # stdout
?>

stdout (標準出力ストリーム) に表示されるエラーが捕捉されます出力バッファリング関数 (ob_start/ob_get_clean) を使用すると、strerrr はできません。

plonk at xonx dot de 12-Jan-2011 11:46

Apache mod_fcgid および "log_errors = On" で PHP を使用すると、PHP エラーが重大度 "warn" で Apache ErrorLog ファイルに記録されます。 PHP エラー自体の重大度に関係なく、Apache ログの重大度は「警告」です。
PHP エラーを Apache ログに記録するには、次を使用します:
LogLevel warn
(または debug、info、notice)

alvaro at Demongracia dot com 26-Nov-2010 03:16

Apache ディレクティブ「php_value」内値を省略することはできず、空の文字列は許可されません:

#WRONG
php_value error_log
php_value error_log ""

そのような場合は、「none」を使用できます。これは、「値が割り当てられていない」ことを意味する PHP の特別なキーワードです:

#OK: empty string
php_value error_log none

hatchike at gmail dot com 23-Jul-2009 11:42

回避したい場合未定義のメソッド呼び出しが失敗したときに致命的なエラーが発生した場合は、次のような単純な例外スローワーを追加できます:
class MyClass
{
// ...通常のコードの多くを追加してから、次のようにします:
public function __call($ name, $args)
{
throw new Exception('未定義のメソッド ' . $name . '() が呼び出されました');
}
}
?>
これは、トップレベルのコードが

ブロックし、以前は致命的だったエラーをキャッチします。

ivanmaz at yandex dot ru 02-Apr-2009 11:44

もっと簡単で正しい解決策があります - ファイル .htaccess を使用し、次の行を追加するだけです:

php_value display_errors 1
php_value display_startup_errors 1

cjakeman at bcs dot org 17-Mar-2009 01:06

の使用
  スクリプトの先頭にある
は解析エラーをキャッチしません。 「)」または「;」が欠落しています。それでも空白のページが表示されます。 

これは、スクリプト全体が実行される前に解析されるためです。 php.ini を変更して

display_errors をオン
に設定できない場合は、error_reporting で考えられる解決策が提案されています。

error_reporting(E_ALL); 
ini_set("display_errors", 1); 
include("file_with_errors.php"); 
?>

error_reporting NULL PHP_INI_ALL
display_errors 「1」 PHP_INI_ALL
display_startup_errors " 0" PHP_INI_ALL
log_errors "0" PHP_INI_ALL
log_errors _max_len "1024" PHP_INI_ALL PHP 4.3.0 以降で利用可能。
ignore_repeat_errors "0" PHP_INI_ALL PHP 4.3.0 以降で利用可能。
docref_ext
PHP_INI_ALL PHP 4.3.2 以降で利用可能です。 error_prepend_string
PHP_INI_ALL error_append_string
PHP_INI_ALL error_log
PHP_INI_ALL
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHP エラーの解決: 指定された名前空間クラスが見つかりませんでした PHP エラーの解決: 指定された名前空間クラスが見つかりませんでした Aug 18, 2023 pm 11:28 PM

PHP エラーの解決: 指定された名前空間クラスが見つかりません PHP を使用して開発を行っていると、さまざまなエラー メッセージに遭遇することがよくあります。よくあるエラーの 1 つは、「指定された名前空間クラスが見つかりませんでした」です。このエラーは通常、インポートされたクラス ファイルがネームスペースを適切に参照していないことが原因で発生します。この記事では、この問題を解決する方法を説明し、いくつかのコード例を示します。まず、一般的なエラー メッセージの例を見てみましょう: Fatalerror:UncaughtError:C

PHP エラーの解決: 親クラスの継承時に問題が発生しました PHP エラーの解決: 親クラスの継承時に問題が発生しました Aug 17, 2023 pm 01:33 PM

PHP エラーの解決: 親クラスの継承時に発生する問題 PHP では、継承はオブジェクト指向プログラミングの重要な機能です。継承により、元のコードを変更することなく、既存のコードを再利用し、拡張および改善できます。継承は開発で広く使用されていますが、親クラスから継承するときにエラーの問題が発生することがあります。この記事では、親クラスから継承するときに発生する一般的な問題の解決に焦点を当て、対応するコード例を示します。質問 1: 親クラスが見つかりません。親クラスの継承処理中に、システムが親クラスを見つからない場合、

PHP エラー「未定義関数の呼び出し」に対処する方法 PHP エラー「未定義関数の呼び出し」に対処する方法 Jul 12, 2023 am 10:18 AM

PHP エラーに対処する方法: Calltounknownfunction の問題? PHPを使用した開発プロセスでは、さまざまなエラーが頻繁に発生します。一般的なエラーの 1 つは、「Calltoundefinefunction」です。これは、未定義の関数が呼び出されたことを意味します。この種のエラーにより、コードが失敗し、開発者に迷惑がかかる可能性があります。この記事では、このエラーの処理方法を説明し、いくつかのコード例を示します。機能が正しいか確認してください

PHP エラー: 未定義の名前空間で関数を呼び出した場合はどうすればよいですか? PHP エラー: 未定義の名前空間で関数を呼び出した場合はどうすればよいですか? Aug 17, 2023 am 11:25 AM

PHP エラー: 未定義の名前空間で関数を呼び出した場合はどうすればよいですか? PHP でプログラミングする場合、未定義の名前空間で関数を呼び出すときにエラーが発生することがよくあります。このエラーは通常、名前空間を参照しているにもかかわらず、それが正しくインポートされていない場合に発生します。この記事では、この問題を解決するいくつかの方法を紹介し、対応するコード例を示します。最初の解決策は、名前空間プレフィックスを使用して関数を呼び出すことです。名前空間を参照するが、その名前空間に関数をインポートしない場合、

PHP エラー: 定数ソリューションが定義されていません! PHP エラー: 定数ソリューションが定義されていません! Aug 17, 2023 pm 02:52 PM

PHP エラー: 定数ソリューションが定義されていません! PHP プログラミングでは、定数の未定義エラーが頻繁に発生します。このエラーは通常、コード内で未定義の定数が使用されている場合に発生します。この記事では、定数の概念と、未定義の定数の問題を解決する方法を紹介します。まず、定数とは何かを理解しましょう。 PHP では、定数は、一度定義すると再度変更できない値です。定数は、define() 関数を使用して定義されます。簡単な例を次に示します: <?phpdefine("

PHP エラーが報告されているコード行を素早く見つけるにはどうすればよいでしょうか? PHP エラーが報告されているコード行を素早く見つけるにはどうすればよいでしょうか? Jul 14, 2023 am 09:34 AM

PHP エラーが報告されているコード行を素早く見つけるにはどうすればよいでしょうか? PHP プロジェクトを開発していると、さまざまなエラー レポートが頻繁に表示されますが、これらのエラー レポートは問題を特定して解決するために非常に重要です。ただし、エラー メッセージの詳細が不十分な場合があり、エラーのファイルと行番号のみが示され、具体的なエラー メッセージは示されません。このため、問題を特定して解決する際に一定の困難が生じます。この記事では、PHP エラーが報告されているコードの特定の行をすばやく見つけるのに役立ついくつかの方法を紹介します。エラー報告の有効化 まず、エラー報告が有効になっていることを確認する必要があります。 PHP コードには、

PHP エラーを解決する方法: 構文エラー、無効なコンストラクター? PHP エラーを解決する方法: 構文エラー、無効なコンストラクター? Aug 26, 2023 pm 09:45 PM

PHP エラーを解決する方法: 構文エラー、無効なコンストラクター?はじめに: PHP は非常に人気のあるサーバーサイド スクリプト言語です。ただし、PHP コードを記述するときにさまざまなエラーが発生することは避けられません。よくあるエラーの 1 つは、「構文エラー、無効なコンストラクター」です。この記事では、このエラーの原因を説明し、いくつかの解決策とサンプルコードを紹介します。エラーの理由: PHP でコンストラクターを使用する場合、従う必要のあるルールがいくつかあります。オブジェクトの作成時にコンストラクターで無効な構文を使用すると、エラーが発生します。

PHP エラーの問題を解決: 無効なクラス定数 PHP エラーの問題を解決: 無効なクラス定数 Aug 19, 2023 pm 01:04 PM

PHP エラーの問題の解決: クラス定数が無効です PHP 開発では、次のようなエラー メッセージが頻繁に表示されます。 Fatalerror: Unknownclassconstant'CONSTANT_NAME'in/path/to/file.phponline10 この種のエラー メッセージは、コードで使用されていることを示します。無効なクラス定数名が取得されました。この問題を解決することは実際には難しくありませんが、以下にいくつかの可能性を詳しく紹介します。

See all articles