デバッグ
内容
デバッグメッセージを使用する
デバッグメッセージは、問題の診断やMoodle開発者の支援を目的としています。あなたのMoodleサイトに問題があり、Moodle.orgフォーラムで助けを求める場合、開発者は問題の原因を突き止めるためにデバッグを有効にする、すなわちデバッグメッセージをオンにするように頼むかもしれません。空白の画面や不完全な画面などの問題がある場合は、通常デバッグをオンにすることが最初の試みです。
デバッグを有効にする
デバッグを有効にするには、サイト管理のデバッグに進みます。
デバッグメッセージ
オプションは以下のとおりです。
- NONE:エラーや警告を表示しません(デフォルト)
- MINIMAL:致命的なエラーのみを表示
- NORMAL:警告、エラー、通知を表示
- ALL:妥当なPHPデバッグメッセージをすべて表示します
- DEVELOPER:開発者向けの特別なMoodleデバッグメッセージ
ノート:
- エラーメッセージの記録を保存し、管理者がエラーログを定期的に監視することをお勧めします。これは、 'Debug messages'(debug)をNormalに設定し、 'Display debug messages'(debugdisplay)をoff(チェックを外す)のままにすることによって行われます。その後、エラーメッセージがサーバーログに記録されます。
- プロダクション(パブリック)サイトで[デバッグメッセージ]が[開発者]に設定されている場合は、取得したデバッグメッセージをコピーして貼り付けてから、開発者デバッグをオフにすることをお勧めします。これはデバッグメッセージがあなたのサイトの設定に関してハッカーに手がかりを与える可能性があるためです。
電子メール送信をデバッグする
SMTPサーバーへの電子メールメッセージの送信中に詳細デバッグ情報を有効にするかどうかを決定します。
送信メール(SMTP)をデバッグするためのその他のツール
config.phpファイルを使用して、送信メール(およびSMTPサーバーの設定)のデバッグに役立つ「ツール」をさらに有効にすることもできます。
- すべての送信メールを特定のアドレスにリダイレクトします。
//メール送信機能をテストおよびデバッグするために、すべての送信メールをこのアドレスに転送します。 // $ CFG-> divertallemailsto = 'root@localhost.local'; //プロダクションサーバではありません。
- CRONのデバッグをオンにしてCLIのcron.phpスクリプトを実行します。
//開発者レベルのデバッグを強制し、cronの出力にデバッグ情報を追加します // $ CFG-> showcrondebugging = true;
そして、SSH(またはWindowsの場合はputty.exe)を使用して実行します。
あなた@ moodle -サーバー( / var / www / html / moodle ) #php admin / cli / cron.php
- 詳細なSMTPデバッグを有効にしてシステムのerror_log(code hack)に出力します。
Moodleのディスカッションフォーラムで提案されているように: lib / moodlelib.php L5379を開いて以下のように変更してください。
if ( ! empty ( $ CFG - > debugsmtp ) ) { $メーラー - > SMTPDebug = 1 ; // 0 - デバッグなし... 4 - 低レベルの完全デバッグ $メーラー - > Debugoutput = "error_log" ; }
SMTPDebugパラメータとDebugoutputパラメータの詳細については、 mailcatcherの設定( https://mailcatcher.me/ )を参照してください 。
パフォーマンス情報
パフォーマンス情報オプションは、パフォーマンス情報を標準テーマ(およびその他のテーマ)のフッターに含めるかどうかを決定します。パフォーマンス情報には、ページがロードされる時間、ページの生成に使用されたメモリの量、CPU使用率、ロード、およびレコードキャッシュのヒット/ミスレートが含まれます。
追加した場合
define ( 'MDL_PERF' 、 true ) ; define ( 'MDL_PERFDB' 、 true ) ; define ( 'MDL_PERFTOLOG' 、 true ) ; define ( 'MDL_PERFTOFOOT' 、 true ) ;
config.phpファイルに追加すると、データベースクエリもカウントされます。 (Moodleはデータベースに設定情報をロードする前にDBクエリを開始するため、これはconfig.phpに含まれている必要があります。)
一般ユーザーからパフォーマンス情報を隠すには、「 管理者専用のパフォーマンス情報 」というディスカッションを参照してください。
言語文字列の由来を表示する
翻訳や言語のカスタマイズにも役立ちます。時々?strings = 1追加する必要があります。別の時に
&strings = 1。詳細はWikipediaの記事「 Query string」を参照してください。
バリデータリンクを表示する
注意して、警告を読んでください。
ページ情報を表示する
ページフッターに印刷されたページ情報を表示します。
管理画面にアクセスできない場合の対処
エラーが原因でデバッグを有効にするために管理画面にアクセスできなくなっている場合は、デバッグ設定を手動で設定できます。
URLを直接入力してみてください
デバッグ設定はURLにありますあなたのサーバーで。あなたがそこにたどり着くために行く必要があるページ(例えば、サイトのフロントページ)がうまくいかなくても、時々そのURLはうまくいくでしょう。そのため、そのURLを直接入力してみる価値があります。http://.../admin/settings.php?section =デバッグ
config.phpで
config.phpでは、セクション7の下で行のコメントを外して(行頭の//を削除する)ことで、すべてのユーザーまたは特定のユーザーだけのデバッグを有効にすることができます。
// ================================================== ======================== // 7.開発サーバーの設定 - 本番用ではありません。 // ================================================== ======================== // //サイト管理の設定に関係なくデバッグモードを強制する // @error_reporting(E_ALL | E_STRICT); //プロダクションサーバではありません。 // @ini_set( 'display_errors'、 '1'); //プロダクションサーバではありません。 // $ CFG-> debug =(E_ALL | E_STRICT); // === DEBUG_DEVELOPER - プロダクションサーバ向けではありません! // $ CFG-> debugdisplay = 1; //プロダクションサーバではありません。 // //常に表示されるユーザーIDのカンマ区切りのリストを指定できます //デバッグメッセージ。$ CFG-> debugおよび$ CFG-> debugdisplayのデバッグフラグをオーバーライドします。 //これらのユーザーのみ // $ CFG-> debugusers = '2';
問題の診断が終わったら、忘れずにこれらの行をコメントアウトしてください(//を行頭に挿入し直してください)。
注1 :設定データベーステーブルを直接変更しようとしないでください。値がMUCにキャッシュされるため、機能しません。
注2 :config.phpに上記の設定がない場合(約30行のconfig.phpがカットダウンされています)、完全な詳細を含む "config-dist.php"ファイルを探してください。私はあなたが持っている現在のconfig.phpファイルの中のあなたの詳細を完全なconfigファイルの中に移しそしてそれを "config.php"に改名することをお勧めします。
関連情報
- 開発者はXDEBUG (Apacheサーバー上のモジュールとしてインストールされる)を使用して、 XDEBUGクライアントアプリケーションを使用してコードをさらに詳しく調べることもできます 。おそらく、彼らのお気に入りのIDEの一部として。たとえば、 NetBeans 、 phpStormなどです。