「デバッグ」の版間の差分

提供:MoodleDocs
移動先:案内検索
編集の要約なし
 
(同じ利用者による、間の11版が非表示)
6行目: 6行目:
==デバッグを有効にする==  
==デバッグを有効にする==  


デバッグを有効にするには、 ''サイト管理>開発>デバッグ''ます。
デバッグを有効にするには、 ''サイト管理 > 開発 > デバッグ''に移動します。


===デバッグメッセージ===  
===デバッグメッセージ===  
12行目: 12行目:
オプションは次のとおりです。  
オプションは次のとおりです。  


*なし:エラーや警告を表示しません(デフォルト)
*NONE: デバッグ情報を表示しない(デフォルト)
* MINIMAL:致命的なエラーのみを表示
*MINIMAL: 致命的なエラーのみ表示する
*通常:警告、エラー、通知を表示します
*NORMAL: エラー、警告および注意を表示する
* ALL:すべての合理的なPHPデバッグメッセージを表示します
*ALL: すべての妥当なPHPデバッグメッセージを表示する
*開発者:開発者向けの追加のMoodleデバッグメッセージ
*DEVELOPER: 開発者のための特別Moodleデバッグメッセージ


ノート:  
ノート:  


#エラーメッセージの記録を保持し、管理者がエラーログを定期的に監視することをお勧めします。これは、「デバッグメッセージ」(デバッグ)を「通常」に設定し、「デバッグメッセージの表示」(デバッグ表示)をオフ(チェックしない)にしておくことで実行できます。その後、エラーメッセージがサーバログに記録されます。
#エラーメッセージの記録を保持し、管理者がエラーログを定期的に監視することをお勧めします。これは、'デバッグメッセージ'(デバッグ)をNORMALに設定し、'デバッグメッセージを表示する'(デバッグ表示)をオフ(チェックしない)にしておくことで実行できます。その後、エラーメッセージがサーバログに記録されます。
#実稼働(パブリック)サイトで「デバッグメッセージ」がDeveloperに設定されている場合は、取得したデバッグメッセージをコピーして貼り付けてから、Developerデバッグをオフにすることをお勧めします。これは、デバッグメッセージが、サイトのセットアップに関してハッカーに手掛かりを与える可能性があるためです。
#実稼働(パブリック)サイトで'デバッグメッセージ'がDEVELOPERに設定されている場合は、取得したデバッグメッセージをコピーして貼り付けてから、開発者デバッグをオフにすることをお勧めします。これは、デバッグメッセージが、サイトのセットアップに関してハッカーに手掛かりを与える可能性があるためです。


===デバッグメッセージを表示===  
===デバッグメッセージを表示する===  


このチェックボックスを選択すると、デバッグメッセージがブラウザに直接表示されます。それ以外の場合は、サーバログに保存されます。  
このチェックボックスを選択すると、デバッグメッセージがブラウザに直接表示されます。それ以外の場合は、サーバログに保存されます。  
34行目: 34行目:
config.phpファイルを使用して、送信メール(およびSMTPサーバ構成)のデバッグに役立つ「ツール」をさらに有効にすることもできます。  
config.phpファイルを使用して、送信メール(およびSMTPサーバ構成)のデバッグに役立つ「ツール」をさらに有効にすることもできます。  
*すべての送信メールを特定のアドレスにリダイレクトします。  
*すべての送信メールを特定のアドレスにリダイレクトします。  
 
<code php>
// Divert all outgoing emails to this address to test and debug emailing features  
// Divert all outgoing emails to this address to test and debug emailing features  
// $CFG->divertallemailsto = 'root@localhost.local'; // NOT FOR PRODUCTION SERVERS!  
// $CFG->divertallemailsto = 'root@localhost.local'; // NOT FOR PRODUCTION SERVERS!  
   
  </code>


* CRONデバッグをオンにして、CLI cron.phpスクリプトを実行します。  
* CRONデバッグをオンにして、CLI cron.phpスクリプトを実行します。  
 
<code php>
// Force developer level debug and add debug info to the output of cron  
// Force developer level debug and add debug info to the output of cron  
// $CFG->showcrondebugging = true;  
// $CFG->showcrondebugging = true;  
</code>
 
次に、SSH(またはWindowsではputty.exe)を使用して実行します。  
次に、SSH(またはWindowsではputty.exe)を使用して実行します。  
 
<code php>
you@moodle-server(/var/www/html/moodle)# php admin/cli/cron.php  
you@moodle-server(/var/www/html/moodle)# php admin/cli/cron.php  
</code>


*詳細なSMTPデバッグをオンにして、システムのerror_log(コードハック)に出力します。  
*詳細なSMTPデバッグをオンにして、システムのerror_log(コードハック)に出力します。  
Moodleのディスカッションフォーラムで[https://moodle.org/mod/forum/discuss.php?d=316222#p1289850提案]のように:  
Moodleのディスカッションフォーラムで[https://moodle.org/mod/forum/discuss.php?d=316222#p 1289850提案]のように:  
[https://github.com/moodle/moodle/blob/master/lib/moodlelib.php#L5379 lib / moodlelib.php L5379]を開き、次のように変更します。  
[https://github.com/moodle/moodle/blob/master/lib/moodlelib.php#L5379 lib/moodlelib.php L5379]を開き、次のように変更します。  
 
<code php>
if (!empty($CFG->debugsmtp)) {  
if (!empty($CFG->debugsmtp)) {  
  $mailer->SMTPDebug = 1; // 0 - no debug ... 4 - low level full debug  
  $mailer->SMTPDebug = 1; // 0 - no debug ... 4 - low level full debug  
  $mailer->Debugoutput = "error_log";  
  $mailer->Debugoutput = "error_log";  
}  
}  
</code>
[https://github.com/moodle/moodle/blob/master/lib/phpmailer/class.phpmailer.php#L314 SMTPDebug]パラメータと[https://github.com/moodle/moodle/blob]の詳細を参照してください/master/lib/phpmailer/class.phpmailer.php#L328 Debugoutput]パラメータ、
 
メールキャッチャー(https://mailcatcher.me/)をセットアップします。  
[https://github.com/moodle/moodle/blob/master/lib/phpmailer/class.phpmailer.php#L314 SMTPDebug]パラメータと[https://github.com/moodle/moodle/blob/master/lib/phpmailer/class.phpmailer.php#L328 Debugoutput]パラメータの詳細を参照してください、
メールキャッチャー(https://mailcatcher.me/)をセットアップします。


===パフォーマンス情報===  
===パフォーマンス情報===  
67行目: 69行目:
追加した場合
追加した場合


define('MDL_PERF', true);  
<code php>
define('MDL_PERFDB', true);  
define('MDL_PERF', true);
define('MDL_PERFTOLOG', true);  
define('MDL_PERFDB', true);
define('MDL_PERFTOFOOT', true);  
define('MDL_PERFTOLOG', true);
define('MDL_PERFTOFOOT', true);
</code>
   
   
config.phpファイルに追加すると、データベースクエリもカウントされます。 (Moodleがデータベースに構成情報をロードする前にMoodleがDBクエリを開始するため、これはconfig.phpにある必要があります!)
config.phpファイルに追加すると、データベースクエリもカウントされます。 (Moodleがデータベースに構成情報をロードする前にMoodleがDBクエリを開始するため、これはconfig.phpにある必要があります!)


一般ユーザからパフォーマンス情報を非表示にするには、ディスカッション[https://moodle.org/mod/forum/discuss.php?d=358032管理者専用のパフォーマンス情報?]を参照してください。  
一般ユーザからパフォーマンス情報を非表示にするには、ディスカッション[https://moodle.org/mod/forum/discuss.php?d=358032 管理者専用のパフォーマンス情報?]を参照してください。


===言語の起源を表示する文字列===  
===言語ストリングの原語を表示する===  


[[:dev:Translation | translation]]と[[Language customization]]を支援します。時には?strings=1を追加する必要があります。その他の場合&strings=1 。詳細については、Wikipediaの記事[http://en.wikipedia.org/wiki/Query_string Query string]を参照してください。  
[[:dev:Translation | translation]]と[[言語カスタマイゼーション]]を支援します。時には<code>?strings=1</code>を追加する必要があります。その他の場合<code>&strings=1</code> 。詳細については、Wikipediaの記事[http://en.wikipedia.org/wiki/Query_string Query string]を参照してください。


===バリデーターリンクを表示===  
===Validatorリンクを表示する===  
注意して、警告を読んでください。  
注意して、警告を読んでください。


===ページ情報を表示===  
===ページ情報を表示する===  
ページフッターに印刷されたページ情報を表示します。  
ページフッターに印刷されたページ情報を表示します。


=== SQLクエリのデバッグ===  
=== SQLクエリのデバッグ===  
94行目: 98行目:
完全なサンプル:  
完全なサンプル:  


$CFG->dboptions = array (  
<code php>
//'logall' => true,  
$CFG->dboptions = array (
'logslow' => 5,  
  //'logall'   => true,
'logerrors' => true,  
  'logslow' => 5,
);  
  'logerrors' => true,
);
</code>


==管理画面にアクセスできない場合の対処方法==  
==管理画面にアクセスできない場合の対処方法==  
107行目: 112行目:
=== URLを直接入力してください===  
=== URLを直接入力してください===  


デバッグ設定はURLにあります http://.../admin/settings.php?section=debugging サーバ上。そこにたどり着くために必要なページ(たとえば、サイトのフロントページ)が機能しない場合でも、そのURLが機能することがあります。そのため、そのURLを直接入力してみる価値があります。
デバッグ設定は、サーバーのURL <code><nowiki>http://.../admin/settings.php?section=debugging</nowiki></code>にあります。 そこにたどり着くために必要なページ(たとえば、サイトのフロントページ)が機能しない場合でも、そのURLが機能することがあります。 そのため、そのURLを直接入力してみる価値があります。


=== config.php ===  
=== config.php ===  


[[構成ファイル| config.php]]では、セクション7の行のコメントを解除(行の先頭にある//を削除)して、すべてまたは特定のユーザのデバッグを有効にすることができます。  
[[設定ファイル| config.php]]では、セクション7の行のコメントを解除(行の先頭にある//を削除)して、すべてまたは特定のユーザのデバッグを有効にすることができます。  


 
<code php>
//=========================================================================  
//=========================================================================
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!  
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!
//=========================================================================  
//=========================================================================
//  
//
// Force a debugging mode regardless the settings in the site administration  
// Force a debugging mode regardless the settings in the site administration
// @error_reporting(E_ALL | E_STRICT); // NOT FOR PRODUCTION SERVERS!  
// @error_reporting(E_ALL | E_STRICT);   // NOT FOR PRODUCTION SERVERS!
// @ini_set('display_errors', '1'); // NOT FOR PRODUCTION SERVERS!  
// @ini_set('display_errors', '1');         // NOT FOR PRODUCTION SERVERS!
// $CFG->debug = (E_ALL | E_STRICT); // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS!  
// $CFG->debug = (E_ALL | E_STRICT);   // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS!
// $CFG->debugdisplay = 1; // NOT FOR PRODUCTION SERVERS!  
// $CFG->debugdisplay = 1;             // NOT FOR PRODUCTION SERVERS!
//  
//
// You can specify a comma separated list of user ids that that always see  
// You can specify a comma separated list of user ids that that always see
// debug messages, this overrides the debug flag in $CFG->debug and $CFG->debugdisplay  
// debug messages, this overrides the debug flag in $CFG->debug and $CFG->debugdisplay
// for these users only.  
// for these users only.
// $CFG->debugusers = '2';  
// $CFG->debugusers = '2';
</code>


問題の診断が終了したら、これらの行を再度コメントする(行の先頭に//を再挿入する)ことを忘れないでください。  
問題の診断が終了したら、これらの行を再度コメントする(行の先頭に//を再挿入する)ことを忘れないでください。  


'''注1 ''' :構成データベーステーブルを直接変更しないでください。値はMUCにキャッシュされるため、機能しません。
'''注1 ''' :構成データベーステーブルを直接変更しないでください。値はMUCにキャッシュされるため、機能しません。


'''注2 ''' :config.phpに上記の設定がない場合(約30行のconfig.phpが削減されています)、完全な内容を含む「config-dist.php」ファイルを探します詳細。現在のconfig.phpファイルの詳細を完全なconfigファイルに転送し、名前を「config.php」に変更することをお勧めします。
'''注2 ''' :config.phpに上記の設定がない場合(約30行のconfig.phpが削減されています)、完全な内容を含む「config-dist.php」ファイルを探します詳細。現在の ''config.php'' ファイルの詳細を完全なconfigファイルに転送し、名前を ''config.php'' に変更することをお勧めします。


==こちらもご覧ください==  
==こちらもご覧ください==  

2021年3月25日 (木) 04:19時点における最新版

デバッグメッセージの使用

デバッグメッセージは、問題の診断および/またはMoodle開発者の支援を目的としています。 Moodleサイトに問題があり、Moodle.orgフォーラムで助けを求める場合、開発者は問題の原因を特定するために、デバッグを有効にする、つまりデバッグメッセージをオンにするように依頼する場合があります。空白の画面や不完全な画面などの問題がある場合は、通常、最初にデバッグをオンにすることを試みます。

デバッグを有効にする

デバッグを有効にするには、 サイト管理 > 開発 > デバッグに移動します。

デバッグメッセージ

オプションは次のとおりです。

  • NONE: デバッグ情報を表示しない(デフォルト)
  • MINIMAL: 致命的なエラーのみ表示する
  • NORMAL: エラー、警告および注意を表示する
  • ALL: すべての妥当なPHPデバッグメッセージを表示する
  • DEVELOPER: 開発者のための特別Moodleデバッグメッセージ

ノート:

  1. エラーメッセージの記録を保持し、管理者がエラーログを定期的に監視することをお勧めします。これは、'デバッグメッセージ'(デバッグ)をNORMALに設定し、'デバッグメッセージを表示する'(デバッグ表示)をオフ(チェックしない)にしておくことで実行できます。その後、エラーメッセージがサーバログに記録されます。
  2. 実稼働(パブリック)サイトで'デバッグメッセージ'がDEVELOPERに設定されている場合は、取得したデバッグメッセージをコピーして貼り付けてから、開発者デバッグをオフにすることをお勧めします。これは、デバッグメッセージが、サイトのセットアップに関してハッカーに手掛かりを与える可能性があるためです。

デバッグメッセージを表示する

このチェックボックスを選択すると、デバッグメッセージがブラウザに直接表示されます。それ以外の場合は、サーバログに保存されます。

メール送信のデバッグ

SMTPサーバへの電子メールメッセージの送信中に詳細なデバッグ情報を有効にするかどうかを決定します。

送信メール(SMTP)をデバッグするためのその他のツール

config.phpファイルを使用して、送信メール(およびSMTPサーバ構成)のデバッグに役立つ「ツール」をさらに有効にすることもできます。

  • すべての送信メールを特定のアドレスにリダイレクトします。

// Divert all outgoing emails to this address to test and debug emailing features // $CFG->divertallemailsto = 'root@localhost.local'; // NOT FOR PRODUCTION SERVERS!


  • CRONデバッグをオンにして、CLI cron.phpスクリプトを実行します。

// Force developer level debug and add debug info to the output of cron // $CFG->showcrondebugging = true;

次に、SSH(またはWindowsではputty.exe)を使用して実行します。 you@moodle-server(/var/www/html/moodle)# php admin/cli/cron.php

  • 詳細なSMTPデバッグをオンにして、システムのerror_log(コードハック)に出力します。

Moodleのディスカッションフォーラムで1289850提案のように: lib/moodlelib.php L5379を開き、次のように変更します。 if (!empty($CFG->debugsmtp)) {

$mailer->SMTPDebug = 1; // 0 - no debug ... 4 - low level full debug 
$mailer->Debugoutput = "error_log"; 

}

SMTPDebugパラメータとDebugoutputパラメータの詳細を参照してください、 メールキャッチャー(https://mailcatcher.me/)をセットアップします。

パフォーマンス情報

パフォーマンス情報オプションは、パフォーマンス情報を標準テーマ(および他のいくつかのテーマ)のフッターに含めるかどうかを決定します。パフォーマンス情報には、ページの読み込み時間、ページの生成に使用されたメモリの量、CPU使用率、読み込み、およびレコードキャッシュのヒット/ミス率が含まれます。

追加した場合

define('MDL_PERF', true); define('MDL_PERFDB', true); define('MDL_PERFTOLOG', true); define('MDL_PERFTOFOOT', true);

config.phpファイルに追加すると、データベースクエリもカウントされます。 (Moodleがデータベースに構成情報をロードする前にMoodleがDBクエリを開始するため、これはconfig.phpにある必要があります!)

一般ユーザからパフォーマンス情報を非表示にするには、ディスカッション管理者専用のパフォーマンス情報?を参照してください。

言語ストリングの原語を表示する

translation言語カスタマイゼーションを支援します。時には?strings=1を追加する必要があります。その他の場合&strings=1 。詳細については、Wikipediaの記事Query stringを参照してください。

Validatorリンクを表示する

注意して、警告を読んでください。

ページ情報を表示する

ページフッターに印刷されたページ情報を表示します。

SQLクエリのデバッグ

次のdboptionsをconfig.phpファイルに追加(オン)すると、さまざまなタイプのSQLクエリをmdl_log_queiresテーブルに記録できます。

  • logall -すべてのクエリをログに記録します-開発者のみに適しており、サーバの負荷が高くなります。本番環境では推奨されません。
  • logslow -指定した秒数より長い時間がかかるクエリを記録します(float値も受け入れられます)。
  • logerrors -すべてのエラークエリをログに記録します。

完全なサンプル:

$CFG->dboptions = array (

 //'logall'   => true,
 'logslow'  => 5,
 'logerrors'  => true,

);

管理画面にアクセスできない場合の対処方法

エラーが原因で、管理画面でデバッグをオンにすることさえできない場合は、デバッグ設定を手動で設定できます。

URLを直接入力してください

デバッグ設定は、サーバーのURL http://.../admin/settings.php?section=debuggingにあります。 そこにたどり着くために必要なページ(たとえば、サイトのフロントページ)が機能しない場合でも、そのURLが機能することがあります。 そのため、そのURLを直接入力してみる価値があります。

config.php

config.phpでは、セクション7の行のコメントを解除(行の先頭にある//を削除)して、すべてまたは特定のユーザのデバッグを有効にすることができます。

//========================================================================= // 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!! //========================================================================= // // Force a debugging mode regardless the settings in the site administration // @error_reporting(E_ALL | E_STRICT); // NOT FOR PRODUCTION SERVERS! // @ini_set('display_errors', '1'); // NOT FOR PRODUCTION SERVERS! // $CFG->debug = (E_ALL | E_STRICT); // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS! // $CFG->debugdisplay = 1; // NOT FOR PRODUCTION SERVERS! // // You can specify a comma separated list of user ids that that always see // debug messages, this overrides the debug flag in $CFG->debug and $CFG->debugdisplay // for these users only. // $CFG->debugusers = '2';

問題の診断が終了したら、これらの行を再度コメントする(行の先頭に//を再挿入する)ことを忘れないでください。

注1 :構成データベーステーブルを直接変更しないでください。値はMUCにキャッシュされるため、機能しません。

注2 :config.phpに上記の設定がない場合(約30行のconfig.phpが削減されています)、完全な内容を含む「config-dist.php」ファイルを探します詳細。現在の config.php ファイルの詳細を完全なconfigファイルに転送し、名前を config.php に変更することをお勧めします。

こちらもご覧ください