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

提供:MoodleDocs
移動先:案内検索
編集の要約なし
 
(2人の利用者による、間の23版が非表示)
1行目: 1行目:
{{開発ツール}}
{{開発者ツール}}  
==デバッグメッセージの使用==


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


デバッグメッセージは「管理 > サイト管理 > 開発 > デバッグ」にて、管理者によって有効にすることができます。
==デバッグを有効にする==


デバッグメッセージは、問題 (トラブル) の分析およびMoodle開発者のサポートを目的としています。あなたのMoodleサイトに問題が発生して、moodle.orgに助けを求める場合、問題箇所を特定するため、開発者はデバッグメッセージを有効にすることを求めることでしょう。デフォルトでは、Moodleはエラーメッセージを一切表示しません。あなたが問題に遭遇した場合 (例 空白画面または不完全な画面)、通常、まず最初にデバッグを有効にしてください。
デバッグを有効にするには、 ''サイト管理 > 開発 > デバッグ''に移動します。


==デバッグ設定==
===デバッグメッセージ===  
Here are the settings on the Debugging page:


===デバッグメッセージ===
オプションは次のとおりです。
The default is none, your choices are:


;NONE : Do not show any errors or warnings (Default)
*NONE: デバッグ情報を表示しない(デフォルト)
;ALL : Show all reasonable PHP debug messages
*MINIMAL: 致命的なエラーのみ表示する
;MINIMAL : Show only fatal errors
*NORMAL: エラー、警告および注意を表示する
;NORMAL : Show warnings, errors and notices
*ALL: すべての妥当なPHPデバッグメッセージを表示する
;DEVELOPER : extra Moodle debug messages for developers
*DEVELOPER: 開発者のための特別Moodleデバッグメッセージ


There is rarely any advantage in going to Developer level, unless you are a developer, in which case it is strongly recommended.
ノート:


Once you have got the error message, and copied and pasted it somewhere.  HIGHLY RECOMMENDED to turn Debug back to NONE. Debug messages can give clues to a hacker as to the setup of your site.
#エラーメッセージの記録を保持し、管理者がエラーログを定期的に監視することをお勧めします。これは、'デバッグメッセージ'(デバッグ)をNORMALに設定し、'デバッグメッセージを表示する'(デバッグ表示)をオフ(チェックしない)にしておくことで実行できます。その後、エラーメッセージがサーバログに記録されます。
#実稼働(パブリック)サイトで'デバッグメッセージ'がDEVELOPERに設定されている場合は、取得したデバッグメッセージをコピーして貼り付けてから、開発者デバッグをオフにすることをお勧めします。これは、デバッグメッセージが、サイトのセットアップに関してハッカーに手掛かりを与える可能性があるためです。


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


There is an option to choose whether to display error messages or simply record them in the server logs.
このチェックボックスを選択すると、デバッグメッセージがブラウザに直接表示されます。それ以外の場合は、サーバログに保存されます。


===デバックメール送信===
===メール送信のデバッグ===  


Determines whether or not to enable verbose debug information during sending of email messages to SMTP server.
SMTPサーバへの電子メールメッセージの送信中に詳細なデバッグ情報を有効にするかどうかを決定します。


===パフォーマンス情報===
====送信メール(SMTP)をデバッグするためのその他のツール====
config.phpファイルを使用して、送信メール(およびSMTPサーバ構成)のデバッグに役立つ「ツール」をさらに有効にすることもできます。
*すべての送信メールを特定のアドレスにリダイレクトします。
<code php>
// Divert all outgoing emails to this address to test and debug emailing features
// $CFG->divertallemailsto = 'root@localhost.local'; // NOT FOR PRODUCTION SERVERS!
</code>
 
* CRONデバッグをオンにして、CLI cron.phpスクリプトを実行します。
<code php>
// Force developer level debug and add debug info to the output of cron
// $CFG->showcrondebugging = true;
</code>
 
次に、SSH(またはWindowsではputty.exe)を使用して実行します。
<code php>
you@moodle-server(/var/www/html/moodle)# php admin/cli/cron.php
</code>
 
*詳細なSMTPデバッグをオンにして、システムのerror_log(コードハック)に出力します。
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]を開き、次のように変更します。
<code php>
if (!empty($CFG->debugsmtp)) {
$mailer->SMTPDebug = 1; // 0 - no debug ... 4 - low level full debug
$mailer->Debugoutput = "error_log";
}
</code>


The Performance info option determines whether performance info will be included in the footer of the standard theme (and some other themes). Performance info includes the time for the page to load, the amount of memory used to generate the page, cpu usage, load, and the record cache hit/miss ration.
[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/)をセットアップします。
 
===パフォーマンス情報===
 
パフォーマンス情報オプションは、パフォーマンス情報を標準テーマ(および他のいくつかのテーマ)のフッターに含めるかどうかを決定します。パフォーマンス情報には、ページの読み込み時間、ページの生成に使用されたメモリの量、CPU使用率、読み込み、およびレコードキャッシュのヒット/ミス率が含まれます。
 
追加した場合


If you add
<code php>
<code php>
define('MDL_PERF', true);
define('MDL_PERF', true);
42行目: 75行目:
define('MDL_PERFTOFOOT', true);
define('MDL_PERFTOFOOT', true);
</code>
</code>
to your config.php file, then it will also count database queries. (This has to be in config.php, because Moodle starts doing DB queries before it loads the config information in the database!
config.phpファイルに追加すると、データベースクエリもカウントされます。 (Moodleがデータベースに構成情報をロードする前にMoodleがDBクエリを開始するため、これはconfig.phpにある必要があります!)


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


===バリデータリンクを表示する===
===言語ストリングの原語を表示する===  
Be careful, read the warning.


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


==あなたが管理画面にアクセスできない場合の対処方法==
===Validatorリンクを表示する===
注意して、警告を読んでください。


If the error is stopping you even getting to the admin screens to turn on debugging, then you can set the debugging setting manually.
===ページ情報を表示する===
ページフッターに印刷されたページ情報を表示します。


===URIを直接入力する===
=== SQLクエリのデバッグ===  
次のdboptionsをconfig.phpファイルに追加(オン)すると、さまざまなタイプのSQLクエリをmdl_log_queiresテーブルに記録できます。
* ''' logall ''' -すべてのクエリをログに記録します-開発者のみに適しており、サーバの負荷が高くなります。本番環境では推奨されません。
* ''' logslow ''' -指定した秒数より長い時間がかかるクエリを記録します(float値も受け入れられます)。
* ''' logerrors ''' -すべてのエラークエリをログに記録します。


The debug settings are at the URL <code><nowiki>http://.../admin/settings.php?section=debugging</nowiki></code> on your server. Sometimes that URL will work, even though the pages you need to go to to get there (for example the site front page) do not. So it is worth trying to enter that URL directly.
完全なサンプル:  


===config.phpにおいて===
<code php>
$CFG->dboptions = array (
  //'logall'  => true,
  'logslow'  => 5,
  'logerrors'  => true,
);
</code>
 
==管理画面にアクセスできない場合の対処方法==  


In [[Configuration file|config.php]] you can add the lines:
エラーが原因で、管理画面でデバッグをオンにすることさえできない場合は、デバッグ設定を手動で設定できます。


<code php>
=== URLを直接入力してください===
$CFG->debug = 2047;
$CFG->debugdisplay = 1;
</code>


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


<code php>
=== config.php ===
$CFG->debug = 6143;
$CFG->debugdisplay = 1;
</code>


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


<code php>
<code php>
//=========================================================================
// 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(1023); // 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 = 32767;         // DEBUG_DEVELOPER // NOT FOR PRODUCTION SERVERS!
// $CFG->debug = (E_ALL | E_STRICT);   // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS!
// for Moodle 2.0 - 2.2, use:  $CFG->debug = 38911; 
// $CFG->debugdisplay = 1;             // NOT FOR PRODUCTION SERVERS!
$CFG->debugdisplay = true;   // 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>
</code>


Remember to remove those lines again when you have finished diagnosing your problem.
問題の診断が終了したら、これらの行を再度コメントする(行の先頭に//を再挿入する)ことを忘れないでください。


===データベースにおいて===
'''注1 ''' :構成データベーステーブルを直接変更しないでください。値はMUCにキャッシュされるため、機能しません。
 
Using a tool like phpMyAdmin, execute the following SQL commands:
 
<code sql>
UPDATE mdl_config SET value = 2047 WHERE name = 'debug';
UPDATE mdl_config SET value = 1 WHERE name = 'debugdisplay';
</code>
 
To turn it back off, use the admin screens, or the commands:
 
<code sql>
UPDATE mdl_config SET value = 0 WHERE name = 'debug';
UPDATE mdl_config SET value = 0 WHERE name = 'debugdisplay';
</code>


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


==関連情報==
==こちらもご覧ください==  


* Developers can also use [http://xdebug.org/ XDEBUG] (Installed as a module on the Apache server) to further dig into the code, step by step using an [http://xdebug.org/docs/remote XDEBUG client application]. Probably, as part of their favorite IDE. For example: [http://php.netbeans.org/ NetBeans], [http://www.jetbrains.com/phpstorm/ phpStorm] or...
*開発者は、[http://xdebug.org/ XDEBUG](Apacheサーバにモジュールとしてインストール)を使用して、[http://xdebug.org/docs/remote XDEBUGクライアントアプリケーション]。おそらく、お気に入りのIDEの一部として。例:[http://php.netbeans.org/ NetBeans][http://www.jetbrains.com/phpstorm/ phpStorm]または...  


[[en:Debugging]]
[[en:Debugging]]
[[es:Depuración]]
[[fr:Débogage]]
[[de:Debugging]]

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 に変更することをお勧めします。

こちらもご覧ください