私はDrupalサイトをデバッグしようとしているシステム管理者です。私のサーバーログでは、Drupalが最終的にメモリを使い果たし、Apacheが500エラーを返すまで、PHPがSolrインスタンスに同じリクエストを何度も繰り返しているのがわかります。
ディスクのどこかにスタックトレースを記録するようにDrupalを構成するにはどうすればよいですか?
Devel モジュールを使用して、admin/config/development/develの構成ページで提供される「Krumo Backtrace」オプションの1つを選択できます。
必ずadmin/config/development/loggingにアクセスして、「エラーと警告」または「すべてのメッセージ」を選択してください。 Syslogモジュールまたはその他のロギングモジュールを有効にしている場合は、それを無効にしてDblogモジュールを有効にする必要があります。
あなたのdrupal system in modulesセクションの下にあるコアモジュールの下で、ディスクにログを保存するためのsyslogモジュールです。探しているものに役立つことを願っています。
Trace モジュールは、私の状況でははるかにうまく機能しました。
これは、Drupalフック呼び出し、データベースクエリ、およびPHPエラーのトレースを提供します。
バージョン1.0このモジュールによって提供されるいくつかの機能:
- トレースメッセージをファイルまたはsyslog(UNIXプラットフォームの場合)に出力します。
- トレースDrupalオプションのフィルターとスタックトレースを使用した呼び出しをフックします。
- トレースPHP警告とエラー、オプションのフルスタックトレース。
- クエリタイプによるオプションのフィルタリングでSQLデータベースクエリをトレースします。
- トレース出力には、マイクロ秒レベルのタイミング情報が含まれています。
- スタックトレースには、PHP構文で関数に渡された引数が含まれます。
- オプションのデバッグ出力には、PHPスーパーグローバルとHTTPヘッダーが含まれます。
- 他のモジュールがトレース出力ターゲットを拡張できるようにするフックを定義します。
Drupal 7および8の場合、モジュール inspect はバックトレースに最適です。
ファイルまたはログに追加することができますDrupalデータベースに表示するのではなく、これは、Krumoバックトレース、ddebug_backtrace()
、および直接作成する他のソリューションの場合に役立ちます-screen output fail。これは、レンダリング出力が開始される前に発生するエラーと例外の場合です。
インスペクションの管理バックエンド構成領域には、コードでの使用に関するニースのクイックリファレンスが含まれています。