DrupalのすべてのPHPエラー、警告、通知を黙らせる方法はありますか?これらは開発サイトでは便利ですが、大きなセキュリティリスクであり、ライブではサイトの外観が悪くなります。
Drupal 6のadmin / settings / error-reportingのページでDrupalが画面にエラーを書き込むのを防ぐことができますが、Drupal 7のどこで見つけることができますか?欠落しているようです。
DrupalのすべてのPHPエラー、警告、通知を黙らせる方法はありますか?これらは開発サイトでは便利ですが、大きなセキュリティリスクであり、ライブではサイトの外観が悪くなります。
Drupal 6のadmin / settings / error-reportingのページでDrupalが画面にエラーを書き込むのを防ぐことができますが、Drupal 7のどこで見つけることができますか?欠落しているようです。
回答:
Drupal 7のように、admin / settings / error-reportingで見る前と同じページがadmin / config / development / loggingにあるように、パスが変更されます。
提案されたように、Administration » Configuration » Development
(で/admin/config/development/logging
)エラーメッセージの表示を無効にする設定を見つけることができますが、エラー/通知を完全に無効にすることはできません。
これは、Drupal 7がE_ALLを実施しているため、それらはまだsyslogに書き込まれているため、Webサイトのパフォーマンスに影響する最近のログで確認できます。
通知を完全に無効にするには、次の行をsettings.php
or php.ini
ファイルに追加する必要があります。
ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
通知およびコーディング標準の警告を除くすべてのエラーを表示します。
推奨されないすべてのPHPエラーを抑制するには、設定ファイルを追加してみてください:
error_reporting(0); // Disable all errors.
E_ALL
ロギング用の責任あるDrupal 7コアコード(ファイル:)includes/bootstrap.inc
:
// Enforce E_ALL, but allow users to set levels not part of E_ALL.
error_reporting(E_ALL | error_reporting());
こちらもご覧ください:
設定は常にadmin / config / development / loggingにあります :)
Drushメソッドがそれほど文書化されていない理由はわかりませんが、ビルドスクリプトには次のように記載されています
drush vset error_level 0
...エラーメッセージはログに保存されますが、画面には表示されません。
上記のソリューションkenorbに引用符を追加する必要がある場合があります。
ini_set('error_reporting', 'E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR');
そのためのモジュールがあります:
https://www.drupal.org/project/errorlevelpermission
プロジェクトページから:
だからあなたはできる