インストールdrupal 8コア(標準プロファイルを使用)。例外/エラーが発生するたびに、「Webサイトでエラーが発生しました。しばらくしてからもう一度試してください。」という空白のページが表示されます(下の画像のように)テキストとエラーに関する詳細/トレースなし。
開発サイトでは、settings.php
ファイルの次の行のコメントを外すことをお勧めします。 emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
次に、ファイルexample.settings.local.php
を/sites
フォルダから/sites/default
フォルダにコピーし、名前をsettings.local.php
に変更します
cp sites/example.settings.local.php sites/default/settings.local.php
以下の設定に加えて
$config['system.logging']['error_level'] = 'verbose';
また、デバッグと開発を容易にするのに役立つ他の設定もいくつか追加します。特に必要ない場合は、いつでもコメントアウトできます。
注:各ページにfile_exists
呼び出しを追加するとサイトの速度が低下すると思われる場合は、本番コードからいつでも削除できます。
Settings.phpファイルに次の行を追加します。
$config['system.logging']['error_level'] = 'verbose';
詳細は D8の開発者のトリック/ツールをより発見可能/明白にする を参照してください。
Drupal Consoleにアクセスできる場合、簡単なオプションは、_drupal site:mode dev
_を使用して開発/デバッグ環境を有効にすることです。環境を本番環境に戻す準備ができたら、_drupal site:mode prod
_。
以下は、異なる値を持つ変数です。
$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose
Drupal 8で基本的なエラーメッセージを表示するには、コードをまったく変更する必要はありません。次のURLにアクセスしてください。
/ admin/config/development/logging
「表示するエラーメッセージ」を適切なレベルに設定します。
また、管理インターフェースから最近のエラーを表示することもできます。
/ admin/reports/dblog
とはいえ、設定ファイルに関するその他の回答ある関係がある–本番環境ではなく、開発サイトでのみエラーを表示する必要があります。
Settings.phpで上書きされた$ configオブジェクト/キーはエクスポート時に同期ディレクトリに書き込まれないため、settings.phpが.gitignoreにあると、設定システムを引き続き使用して同じサイトのクローン間で同期できます。
デバッグを有効にするには、記事に従ってください: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-templates-Drupal-8
「ウェブサイトでエラーが発生しました。しばらくしてからもう一度お試しください。」の空白ページあなたをどこにも連れて行きません。 Drupal 8サイトから詳細情報を取得するには、次の設定を有効にします。
$config['system.logging']['error_level'] = 'verbose';
ローカルDrupal 8開発の場合、エラーレポートを有効にし、エラーを表示し、起動エラーを表示して、主要な実行時エラーをさらにデバッグおよび修正できるようにする必要があります。
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
TWIGデバッグとDrupal Consoleを使用したデバッグの有効化の詳細については、以下のブログ投稿をご覧ください。
https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8
DevilおよびDevel kintモジュールをインストールすることもできます。これにより、kint(xyz)
を使用してデバッグできます。
Drushのみにアクセスでき(Drupalコンソール)でなく)、リモートサーバーで作業している場合は、すべてのエラーを表示するように構成を設定できます。
drush MYSITE.MYENV config-set system.logging error_level all -y
これは、リモートサーバーでWSODを取得していて、詳細情報がないとトラブルシューティングできない場合に便利です。