検索

PHP出力ログ

Apr 17, 2018 am 09:02 AM
phpログ出力

この記事の内容は、一定の参考価値のあるPHP出力ログに関するもので、必要な友人が参照できるようにしています

https://www.cnblogs.com/yszr から転載しました。 /p /8489433.html
error_log('出力したい情報', 3, 'E:workjiajiayueApplicationApiController1.txt');die;
php error_log ログの使用状況と設定を記録します


PHP 開発者にとって、ある特定のときに製品を使用する場合は、パス、データベース接続、データ テーブル、およびこれらのエラーによって公開されるその他の情報によるハッカーによる攻撃を避けるために、display_errors オプションを直ちにオフにする必要があります。しかし、どのような製品でも使用後は必ずエラーが発生します。開発者に役立つエラー レポートを記録するにはどうすればよいでしょうか?エラーレポートを別のテキストファイルに記録できます。エラー ログの記録は、開発者や管理者がシステムに問題があるかどうかを確認するのに役立ちます。 プログラム内のエラー レポートをエラー ログに書き込む必要がある場合は、PHP 設定ファイルで設定ディレクティブ log_errors を有効にするだけです。エラー レポートは、デフォルトで Web サーバーのログ ファイル (たとえば、Apache サーバーのエラー ログ ファイル error.log) に記録されます。もちろん、エラー ログを指定したファイルに記録したり、システムの syslog に送信したりすることもできます。詳細は次のとおりです。


1. 指定したファイルを使用してエラー レポート ログを記録します


エラーレポートログを記録する場合は、指定したファイルを使用してエラーレポートログを記録します。 指定したファイルを使用してエラーレポートログを記録する場合は、必ずこのファイルを保存してください。攻撃される可能性を減らすために、ドキュメントのルート ディレクトリの外に配置します。また、このファイルは、PHP スクリプトを実行するユーザー (Web サーバー プロセスの所有者) によって作成される必要があります。 Linux オペレーティング システムでは、/usr/local/ ディレクトリの error.log ファイルがエラー ログ ファイルとして使用され、Web サーバー プロセス ユーザーに書き込み権限が設定されているとします。次に、PHP 構成ファイルで、error_log ディレクティブの値をエラー ログ ファイルの絶対パスに設定します。
php.ini の設定手順を次のように変更する必要があります:
1. error_reporting = E_ALL ; 発生したすべてのエラーは PHP に報告されます
2. display_errors = Off log_errors = オン使用する 使用する 使用する 使用する 使用するthrough using ‐ ' 's ' ‐ ‐ ‐‐‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐  ‐         ; ログファイルを設定した後、書き込むエラーレポートを指定します。上記のように
PHP 設定ファイルを配置し、Web サーバーを再起動します。このようにして、PHP スクリプト ファイルを実行するときに、生成されたすべてのエラー レポートはブラウザーには表示されませんが、指定したエラー ログ /usr/local/error.log に記録されます。さらに、error_reporting で定義されたルールを満たすすべてのエラーを記録できるだけでなく、PHP の error_log() 関数を使用してユーザー定義のエラー メッセージを送信することもできます。



この関数のプロトタイプは次のとおりです:

1. bool error_log ( string message [, int message_type [, string destination [, string extra_headers]]] )

この関数はsend エラー情報は、Web サーバー、TCP サーバーのエラー ログ ファイル、または指定されたファイルに送信されます。この関数は、成功した場合は TRUE を返し、失敗した場合は FALSE を返します。最初のパラメータ メッセージは必須であり、送信されるエラー メッセージです。このパラメータのみを使用した場合、メッセージは設定ファイル php.ini で設定された場所に送信されます。 2 番目のパラメータ message_type は整数値です。0 はメッセージをオペレーティング システムのログに送信することを意味し、1 は PHP の Mail() 関数を使用してメッセージを電子メール アドレスに送信し、4 番目のパラメータ extra_headers も使用されます。エラー メッセージを TCP サーバーに送信します。このとき、3 番目のパラメーターの宛先は宛先 IP とポートを表します。 3. 情報をファイルの宛先に保存します。

Oracle データベースへのログインの問題を例にとると、この関数の使用法は次のようになります:




1. <?php      
2.     if(!Ora_Logon($username, $password)){     
 3.         error_log("Oracle数据库不可用!", 0);        //将错误消息写入到操作系统日志中   
4.     }   
5.     if(!($foo=allocate_new_foo()){   
6.         error_log("出现*烦了!", 1, ". mydomain.com");   //发送到管理员邮箱中   
7.     }  
8.     error_log("搞砸了!",   2,   "localhost:5000");     //发送到本机对应5000端口的服务器中   
9.     error_log("搞砸了!",   3,   "/usr/local/errors.log");  //发送到指定的文件中   
10. ?>





2. エラー情報はオペレーティングシステムのログに記録されます


エラー情報はオペレーティングシステムのログに記録されます。 . エラーレポート オペレーティングシステムのログにも記録できますが、ログ管理はオペレーティングシステムによって若干異なります。 Linux ではエラー ステートメントは syslog に送信され、Windows ではエラーはイベント ログに送信されます。 syslog に詳しくない場合でも、syslog がシステムおよびアプリケーションの実行に関連するメッセージを記録する API を提供する UNIX ベースのロギング ツールであることだけは知っておいてください。 Windows イベント ログは実際には UNIX syslog と同じであり、これらのログは通常、イベント ビューアを介して表示できます。エラー レポートをオペレーティング システム ログに書き込む場合は、構成ファイルで error_log ディレクティブの値を syslog に設定できます。


php.ini で変更する必要がある具体的な設定手順は次のとおりです:


1. error_reporting  =  E_ALL                   ;将会向PHP报告发生的每个错误   
2. display_errors = Off                            ;不显示 满足上条指令所定义规则的所有错误报告   
3. log_errors = On                             ;决定日志语句记录的位置   
4. log_errors_max_len = 1024                   ;设置每个日志项的最大长度   
5. error_log = syslog                          ;指定产生的错误报告写入操作系统的日志里




一般的なエラー出力に加えて、PHP ではカスタマイズされたメッセージをシステム syslog に送信することもできます。カスタマイズされたメッセージは、前に紹介した error_log() 関数を通じて syslog に送信することもできますが、PHP には、この機能のために一緒に使用する必要がある 4 つの専用関数が用意されています。


は次のように導入されます:


define_syslog_variables()


この関数は、openlog()、syslog、closelog() の 3 つの関数を使用する前に呼び出す必要があります。この関数が呼び出されると、現在のシステム環境に基づいて次の 3 つの関数に必要な定数が初期化されるためです。


openlog()


現在のシステムでロガーへの接続を開き、システムにログ メッセージを挿入する準備をします。また、指定された最初の文字列パラメータを各ログ メッセージに挿入します。この関数では、ログ コンテキストで使用される 2 つのパラメータも指定する必要があります。使用方法については、公式ドキュメントを参照してください。


syslog()


この関数は、カスタマイズされたメッセージをシステム ログに送信します。 2 つの必須パラメータが必要です。最初のパラメータは定数を指定してメッセージの優先度をカスタマイズします。たとえば、LOG_WARNING は一般的な警告を表し、LOG_EMERG はシステム クラッシュを示す可能性のある重大な問題を表し、重大度を示すその他の定数は公式ドキュメントに従って使用できます。 2 番目のパラメーターは、システム ログに送信されるカスタマイズされたメッセージです。実行時に PHP エンジンによって提供されるメッセージ文字列またはエラー文字列を指定する必要があります。


closelog()


この関数は、カスタマイズされたメッセージをシステム ログに送信した後に呼び出され、openlog() 関数によって開かれたログ接続を閉じます。





カスタマイズされたメッセージを syslog に送信する指示が設定ファイルで有効になっている場合は、前に紹介した 4 つの関数を使用して警告メッセージをシステム ログに送信し、syslog 解析ツールを通じて表示できます。次に示すように、PHP プログラムによって送信されたカスタマイズされたメッセージを分析します。


1.  
2.     define_syslog_variables();   
3.     openlog("PHP5", LOG_PID , LOG_USER);   
4.     syslog(LOG_WARNING, "警告报告向syslog中发送的演示, 警告时间:".date("Y/m/d H:i:s"));  
5.     closelog();   
6. ?>

Windows システムを例として、「マイ コンピュータ」を右クリックして管理オプションを選択し、システム ツール メニューから [イベント ビュー エクスプローラー] を選択し、アプリケーション オプションを見つけると、カスタマイズされた警告メッセージが表示されます。上記のコードは、システムの syslog ファイルに次のようなメッセージを生成します。これはイベントの一部です:


1. PHP5[3084]、警告レポートを syslog に送信するデモ、警告時刻: 2009/03/ 26 04:09:11.


エラー ログの記録に指定したファイルを使用するか、syslog を使用するかは、Web サーバーの環境によって異なります。 Web サーバーを制御できる場合は、syslog 解析ツールを使用してログを表示および分析できるため、syslog の使用が理想的です。ただし、Web サイトが共有サーバー上の仮想ホストで実行されている場合、エラー ログの記録には別のテキスト ファイルしか使用できません。

関連する推奨事項:

phpはすべてのタイムゾーンリストを出力します

phpはログ関数を書き込みます

phpはログ関数を実装します

以上がPHP出力ログの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

PHP依存性インジェクション:コードのテスト可能性を改善しますPHP依存性インジェクション:コードのテスト可能性を改善しますMay 12, 2025 am 12:03 AM

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

PHPパフォーマンスの最適化:データベースクエリの最適化PHPパフォーマンスの最適化:データベースクエリの最適化May 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

簡単なガイド:PHPスクリプトで電子メールを送信します簡単なガイド:PHPスクリプトで電子メールを送信しますMay 12, 2025 am 12:02 AM

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンス:ボトルネックの識別と修正PHPパフォーマンス:ボトルネックの識別と修正May 11, 2025 am 12:13 AM

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

PHPの依存関係注射:簡単な要約PHPの依存関係注射:簡単な要約May 11, 2025 am 12:09 AM

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

PHPパフォーマンスの向上:キャッシュ戦略と技術PHPパフォーマンスの向上:キャッシュ戦略と技術May 11, 2025 am 12:08 AM

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;

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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。