前一段時間發現分省的郵政編碼系列網站首頁常常會出現一個Views做的Block為空白的情況,例如北京郵政編碼首頁的“北京地市區縣郵編”這一個Block裡面沒有内容,這樣情況以前偶爾比較罕見會發生,例如幾個月偶爾見到一次,但最近卻成了經常的事情,每次重新清理該網站緩存會恢複,但1、2天後又出問題。
我用阿裡雲的網站監控設置了對該站首頁每隔5分鐘讀取一次,如果發現沒有應該存在的内容就報警,連續幾天夜間準點開始報警,先以為是cron運行的結果,但時間不對,後來發現是巡檢程序讀取head和content的時候偶爾會這樣,但具體原因依然不清楚,還是清理緩存後恢複,不久又出錯。😢
這種情況持續太長了,上周下決心仔細排查,發現是modules中的14個views在出問題的網站中隻剩下10個左右,而丢失的4個views中3個帶有網址變量%,1個也有可訪問固定網站,找出4個的共同點就是views裡面head/foot帶有php代碼,一般是用于對當前網站進行判斷以便控制顯示内容。
這種views裡面head/foot帶php代碼應該是允許的,以前也出現過緩存的問題,隻要把render的緩存關閉就可以,這裡也确實設置了render緩存為0但還是有這樣的報錯。不過隻要查到問題所在的地方,具體原因不清楚也可以,再采取措施把views裡面的php代碼去掉,轉移到相應新設置的block中就可以,新block對放置的網站進行适當設置就與views産生的頁面中放置php代碼的效果一樣。😄
這樣修改後觀察了一周,再也沒有出現監控報警了,這個問題應該是得到了解決。今天再檢查其它Drupal 6搭建的系列網站,雖然也有views中帶有php代碼,但卻沒有發現這種問題,那也就暫時無需修改,繼續觀察看。這Drupal開源系統有的時候确實會出一些莫名其妙的問題,需要花費很多時間精力來排查。🤔
评论