在監控系統的通知下,我們的unethost.com首頁cms系統(drupal6),近期經常無預警的出現問題,並會秀出錯誤訊息:
Site off-line
The site is currently not available due to technical problems. Please try again later. Thank you for your understanding.
If you are the maintainer of this site, please check your database settings in thesettings.php
file and ensure that your hosting provider’s database server is running. For more help, see the handbook, or contact your hosting provider.
The mysqli error was: Too many connections.
一般而言, debug除了可以查看log檔之外,現在我們先偷懶一下,直接用最後一行當關鍵字 (The mysqli error was: Too many connections.),搜索google試試。
翻了一些文章,並無明確的解法,只有建議:
1. 更新 druapl 主程式 (這也是我們從去年 drupal 6.28 就延用到現在,最新是 6.33)。
2. 修改 php.ini ,將 memory_limit 加大。
3. 更新外掛模組 (這項是 drupal 後台訊息建議的) 。
drupal 的後台,有著完整的報告資訊,是可以看到不少訊息的。
為了避免跨太多的小版本而導致出錯,我們乖乖的從 6.28 > 6.29 > 6.30 > 6.31 > 6.32 > 6.33 逐步升級,而版本上傳覆蓋後都要跑一下 update.php ,並且保留 setting.php , .htaccess,robots.txt 等重要檔案,避免被洗掉。
當然升級前,得先把空間裡的程式,先打包一份備份,以備不時之需,雖然我們主機有設定自動備份及異地備份,但養成好習慣真的很重要地。
最後,主機程式更新ok,調整memory_limit由128m到512m,其他安裝的外掛模組,都更新了,接著就是得多觀察數天,看看是否還會出現相同的問題。