「デバッグ」の版間の差分
Mitsuhiro Yoshida (トーク | 投稿記録) |
Toshihiro KITA (トーク | 投稿記録) 編集の要約なし |
||
1行目: | 1行目: | ||
{{ | {{開発者ツール}} | ||
==デバッグメッセージの使用== | |||
デバッグメッセージは、問題の診断および/またはMoodle開発者の支援を目的としています。 Moodleサイトに問題があり、Moodle.orgフォーラムで助けを求める場合、開発者は問題の原因を特定するために、デバッグを有効にする、つまりデバッグメッセージをオンにするように依頼する場合があります。空白の画面や不完全な画面などの問題がある場合は、通常、最初にデバッグをオンにすることを試みます。 | |||
==デバッグを有効にする== | |||
デバッグを有効にするには、 ''サイト管理>開発>デバッグ''ます。 | |||
== | ===デバッグメッセージ=== | ||
オプションは次のとおりです。 | |||
*なし:エラーや警告を表示しません(デフォルト) | |||
* MINIMAL:致命的なエラーのみを表示 | |||
*通常:警告、エラー、通知を表示します | |||
* ALL:すべての合理的なPHPデバッグメッセージを表示します | |||
*開発者:開発者向けの追加のMoodleデバッグメッセージ | |||
ノート: | |||
#エラーメッセージの記録を保持し、管理者がエラーログを定期的に監視することをお勧めします。これは、「デバッグメッセージ」(デバッグ)を「通常」に設定し、「デバッグメッセージの表示」(デバッグ表示)をオフ(チェックしない)にしておくことで実行できます。その後、エラーメッセージがサーバログに記録されます。 | |||
#実稼働(パブリック)サイトで「デバッグメッセージ」がDeveloperに設定されている場合は、取得したデバッグメッセージをコピーして貼り付けてから、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のディスカッションフォーラムで[https://moodle.org/mod/forum/discuss.php?d=316222#p1289850提案]のように: | |||
[https://github.com/moodle/moodle/blob/master/lib/moodlelib.php#L5379 lib / moodlelib.php L5379]を開き、次のように変更します。 | |||
== | if (!empty($CFG->debugsmtp)) { | ||
$mailer->SMTPDebug = 1; // 0 - no debug ... 4 - low level full debug | |||
$mailer->Debugoutput = "error_log"; | |||
} | |||
[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使用率、読み込み、およびレコードキャッシュのヒット/ミス率が含まれます。 | |||
追加した場合 | |||
define('MDL_PERF', true); | |||
define('MDL_PERFDB', true); | |||
define('MDL_PERFTOLOG', true); | |||
define('MDL_PERFTOFOOT', true); | |||
config.phpファイルに追加すると、データベースクエリもカウントされます。 (Moodleがデータベースに構成情報をロードする前にMoodleがDBクエリを開始するため、これはconfig.phpにある必要があります!) | |||
一般ユーザからパフォーマンス情報を非表示にするには、ディスカッション[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]を参照してください。 | |||
===バリデーターリンクを表示=== | |||
注意して、警告を読んでください。 | |||
===ページ情報を表示=== | |||
ページフッターに印刷されたページ情報を表示します。 | |||
=== 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」に変更することをお勧めします。 | |||
==こちらもご覧ください== | |||
*開発者は、[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]] |
2020年8月24日 (月) 04:53時点における版
デバッグメッセージの使用
デバッグメッセージは、問題の診断および/またはMoodle開発者の支援を目的としています。 Moodleサイトに問題があり、Moodle.orgフォーラムで助けを求める場合、開発者は問題の原因を特定するために、デバッグを有効にする、つまりデバッグメッセージをオンにするように依頼する場合があります。空白の画面や不完全な画面などの問題がある場合は、通常、最初にデバッグをオンにすることを試みます。
デバッグを有効にする
デバッグを有効にするには、 サイト管理>開発>デバッグます。
デバッグメッセージ
オプションは次のとおりです。
- なし:エラーや警告を表示しません(デフォルト)
- MINIMAL:致命的なエラーのみを表示
- 通常:警告、エラー、通知を表示します
- ALL:すべての合理的なPHPデバッグメッセージを表示します
- 開発者:開発者向けの追加のMoodleデバッグメッセージ
ノート:
- エラーメッセージの記録を保持し、管理者がエラーログを定期的に監視することをお勧めします。これは、「デバッグメッセージ」(デバッグ)を「通常」に設定し、「デバッグメッセージの表示」(デバッグ表示)をオフ(チェックしない)にしておくことで実行できます。その後、エラーメッセージがサーバログに記録されます。
- 実稼働(パブリック)サイトで「デバッグメッセージ」がDeveloperに設定されている場合は、取得したデバッグメッセージをコピーして貼り付けてから、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のディスカッションフォーラムで[1]のように: lib / moodlelib.php L5379を開き、次のように変更します。
if (!empty($CFG->debugsmtp)) {
$mailer->SMTPDebug = 1; // 0 - no debug ... 4 - low level full debug $mailer->Debugoutput = "error_log";
}
SMTPDebugパラメータと[2]の詳細を参照してください/master/lib/phpmailer/class.phpmailer.php#L328 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にある必要があります!)
一般ユーザからパフォーマンス情報を非表示にするには、ディスカッション[3]を参照してください。
言語の起源を表示する文字列
translationとLanguage customizationを支援します。時には?strings=1を追加する必要があります。その他の場合&strings=1 。詳細については、Wikipediaの記事Query stringを参照してください。
バリデーターリンクを表示
注意して、警告を読んでください。
ページ情報を表示
ページフッターに印刷されたページ情報を表示します。
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」に変更することをお勧めします。
こちらもご覧ください
- 開発者は、XDEBUG(Apacheサーバにモジュールとしてインストール)を使用して、XDEBUGクライアントアプリケーション。おそらく、お気に入りのIDEの一部として。例:NetBeans、phpStormまたは...