TOC
前言
有時候我們在開發過程中,在瀏覽器操作卻遇到 Internal Server Error
的訊息,這時候要如何處理及解決?
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
當看到以上訊息時,目前我總結可以往以下方向檢查:
- 系統基礎安裝
- 系統資料庫
- 第三方(客製)addons
1、系統基礎安裝
如果是初期安裝,可能會因為程式語言版本、系統設定…等相關綜合因素,造成Odoo系統啟動異常。
因此這時候可以先查看Server Error Log (例:/var/log/odoo/odoo-server.log)搭配Google進行排查。
2、系統資料庫
這時候可以優先檢查系統執行的訊息,這裡看到 could not connect to server: Connection refused
後,可以轉向檢查DB Server。
如果PostgreSQL Server沒開的話,這時候將Server開啟後應該就能順利執行Odoo了。
3、第三方(客製)addon
主要會在開發並且更新addon時才出現這個狀況。
由於addon是安裝在資料庫之下,因此可透過移除該addon的方式進行, 剛接觸Odoo的時候,我採取的作法是刪除異常的開發資料庫,但這樣會造成整個重新來過,非常的不方便。
後來才意識到只需要移除該異常addons即可,因此即便無法透過瀏覽器Browser操作進行移除,也可透過指令進行,流程如下:
- 步驟1:進入異常的資料庫,更新addons模組狀態
UPDATE ir_module_module SET state = 'uninstalled'
WHERE name = 'your_addons_file_name';
- 步驟2:透過『終端機Terminal』執行以下指令更新資料庫
$ ./odoo-bin -d your_database