クライアントWebサイトの1つで非常に奇妙なバグが発生しており、何が起こっているのか把握できませんでした。難しいです。
問題
scripts[] = script/script.js
数週間前、.infoファイルを更新しました。元の.infoファイルには以下が含まれています。
scripts[] = script/script-min.js
スクリプトとスクリプト最小ファイルは完全に異なるファイルであり、サーバーはscript.js
ファイルをロードしている必要があります。
これが私たちが目撃している行動です:
script.js
をロードしますscript-min.js
をロードすることを決定しますsystem
テーブルは、Drupalがscript-min.js
をキャッシュしたことを示しています。コードの何もscript-min.jsをロードしていないことに注意してください。 grepを実行しましたが、Drupalがファイルをロードしようとしている場所を見つけることができません。script-min.jsファイルは、script.jsファイルと並んでスクリプトディレクトリに存在しますが、どこにも参照されていません。
私たちのセットアップ
私たちが試したこと
なぜ助けが必要なのか
.infoメソッドの代わりにdrupal_add_js
を使用するだけでサーバーに適切なJSファイルを使用できる可能性があることは承知していますが、本当に知りたい理由サーバーは、指示していないファイルをロードしています。
[〜#〜]編集[〜#〜]
私はすでにチェックしており、cronの実行中にdrupal_clear_js_cache
、system_rebuild_theme_data
、およびdrupal_theme_rebuild
関数はヒットしますヒットしません 。私の元々の想定はそれらの関数に関係していましたが、それらがcronの間に実行されていなければ、おそらく問題ではありません。
問題はこのバグレポートに関連している可能性があります: http://drupal.org/node/1765812
問題は、私たちのサイトを攻撃している不正なサーバーにあることがわかりました。古いWebサーバーがデータベースにアクセスし、古いファイルをキャッシュしていました。
2つのサーバーが何らかの理由で同じホスト名を持っているため、見つけるのが困難でした。