# Appfog v1 退場了
所以就著手把相對應的 GAE 應用服務修改為去 trigger 英國 Hostinger 主機. 但回頭想說難道原來的Appfog 登入網頁真的進不去了嗎? 試試居然還可以, 但進去後發現兩個應用程式狀態為 stopped, 我猜它只是在升版時把全部應用程式都關閉, 升版後卻沒自動幫我啟動服務而已, 手動開啟後 cron jobs 就恢復運作了 :
# https://console.appfog.com/
真是太好了! 這樣我就不用另闢蹊徑, 可以繼續使用 Appfog 的穩定服務啦! 從上面的 cron_log 紀錄可知 Appfog 是在 3/22 日凌晨快兩點時關閉了我的應用程式.
不過前陣子我的 EasyuiCMS 架站機有改版, 除了全部改用 mysqli 函式庫 (因為 Hostinger 已不支援 mysql 函式庫), 也修改了訪客列表, 增加顯示訪客來自哪一個國家, 這部分需要在手動調整好資料表後再更新程式. 要修改的部分參考 :
# 從 IP 查來源國家 (二)
# EasyuiCMS 改版為 v2 (mysqli)
依照步驟下載最新的 ip2nation.zip 檔解壓縮後得到 ip2nation.sql, 然後進入 phpmyadmin 後台的 import 上傳此 sql 檔, 結果出現 "No data was received to import" 錯誤 :
仔細看原來是伺服器預設最多只能上傳 2014KB 檔案, 而解壓後的 ip2nation.sql 為 3883KB, 已經超過了. 解決辦法是上傳壓縮檔, 但檔名必須符合其規範, 亦即要以 .sql.zip 結尾. 所以將下載來的 ip2nation.zip 改為 ip2nation.sql.zip (351KB) 再上傳就可以了 :
左方可見已建立 ip2nation 與 ip2nationCountries 資料表了.
接下來是在 phpmyadmin 的建立 nation 這張資料表來達成中文化, 從下列網址下載 nation.sql 檔 :
# 下載國名簡碼與中文國名對照表 nation.sql
其內容如下 :
CREATE TABLE IF NOT EXISTS `nation` (
`code` varchar(4) COLLATE utf8_unicode_ci NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `nation` (`code`, `name`) VALUES
('ad', '安道爾'),
('ae', '阿拉伯聯合大公國'),
('af', '阿富汗'),
('ag', '安地卡'),
('ai', '安圭拉島'),
.....
('bl', '聖巴泰勒米'),
('mf', '法屬聖馬丁'),
('sx', '荷屬聖馬丁'),
('ss', '南蘇丹'),
('um', '美國本土外小島嶼');
此檔案僅 7KB 而已, 不須壓縮, 直接 import 即可.
建立了這三張表單就可以更新應用程式了.
開啟 command 視窗, 切換到 twstockbot 目錄, 下這兩個指令就可更新檔案了 :
af login
af update twstockbot
但是上傳應用程式後瀏覽網頁卻顯示系統安裝畫面, 我原以為是 db.php 弄錯了別的主機, 更正之後還是一樣, 後來我試著改回匯入 mysql 函式庫後就都恢復正常, 原來 Appfog 不支援 mysqli! 看來需要維持兩個版本的 EasyuiCMS 了, 如果應用服務部署在 Hostinger 就要用 mysqli 版本.
沒有留言:
張貼留言