星期四, 6月 19, 2008

Drupal watchdog出現的錯誤訊息

有時候在新增文章,會出現這樣的錯誤:
Table 's' was not locked with LOCK TABLES query

這已經drupal的老問題了,解決辦法是進資料庫,將variable這個table裡面name這個欄位的長度變大,調到個256應該就沒問題了。

做完這一步,建議repair variable、cache、watchdog這幾個table。如果回到網站有錯誤訊息,再試試repair一次。然後試著post一邊title較長的文章,如果沒問題,就算解決了。

星期日, 6月 01, 2008

升級drupal

我的drupal好久沒升級了,這次打算從5.1升到5.7,更重要的是用linux的指令來升級

  1. cp -r sites drupal_backup (sites, files, modules)
  2. 資料庫抓下來
  3. drupal離線
  4. unzip 原始檔 (指令tar zxvf yourfile.tar.gz)
  5. cp -r (-i) * 目錄
  6. 把setting弄回去
  7. update.php (如果還沒登入,可把update裡的check改false)
  8. 設定上線(如果不能登入,從www.yoursite.com/?q=user
如果你跟我一樣對cp指令的參數不熟,可以參考下面的:
  1. a:拷貝目錄,保留所有的資訊,包括連結的檔
  2. d:保留連結的檔案
  3. s:製造符號連結
  4. f:拷貝時若相同檔名的檔案直接複蓋不提出警告
  5. i:拷貝時若相同檔名的檔案不直接複蓋而會提出警告
  6. l:不拷貝,但是連結檔案
  7. p:保留檔案的修改時間及存取權限
  8. r:拷貝時包含目錄及目錄下的檔案