2014年5月10日 星期六

Appfog Error (JSON 503)


很久沒有寫 PHP專案了, 我個人的 stockbot 專案最後更新日為去年 9 月 8 日, 那時停下來是因為要趕公司新系統的 SOP 教材, 花了很多時間寫, 回家還繼續趕工. 最近 Java 已近尾聲, 已可成功擷取與剖析新系統主機的資料庫內容. 所以 Java 專案只會留在公司做, 不帶工作回家了.

昨天去左新圖書館時, 檢查了部署在 appfog 上的兩個機器人, 發現其中 snowball 有異常, 需要砍掉重裝. 但近一年沒寫 PHP, 而 Appfog 也很久沒用, 有點生疏了, 花了些時間看之前寫的筆記恢復功力. 只記得 Appfog 是用 Ruby 安裝 af 程式後上傳與下載, 於是安裝 Ruby 2.0.0, 但是要注意, 安裝完要將 C:\Ruby200\bin 設定在 path 環境變數中才能在任一目錄下指令, 詳見 :

# Appfog 雲端虛擬主機

以下紀錄如何在 Appfog 主機管理我的 PHP 專案步驟, 以免下次又忘記.

首先登入 Appfog 網站, 顯示我已建立兩個應用, 第一個為 PHP 應用 snowball, 第二個是 phpMyAdmin 應用 spm :



先點 Domans 欄中的 phpMyAdmin 超連結, 會冒出 MySQL 資料庫的登入視窗, 帳密跟登入 Appfog 完全相同 :



進入 phpMyAdmin 後, 點 snowball 這個已存在的資料庫 :


然後勾選 Check ALL, 選擇 Drop, 這樣就會將資料庫內全部資料表刪除掉 :


接下來是更新程式, 打開 DOS 視窗, 切到 PHP 應用程式目錄, 用 af login 登入 Appfog, 帳密跟網頁的一樣, 然後用 af update snowball 指令更新 snowball 這個應用程式的檔案, 但這次卻出現下列錯誤 :

G:\stockbot>af update snowball
[WARNING] DL is deprecated, please use Fiddle
Uploading Application:
  Checking for available resources: Error (JSON 503): <?xml version="1.0" encodi
ng="u...

參考了下面幾篇文章都無效果 :

# AppFog - Error (JSON 503): <?xml version=“1.0” encoding="u
# Appfog error “Error (JSON 500): not found”
# gem install json

那先不要更新程式了, 反正架站系統功能已經沒問題了, 單獨上傳 App 即可. 

接著回到上面第一張圖的應用程式列表, 點 PHP 應用程式 snowball 的超連結, 這時因為資料庫是空的, 所以會執行 install.php, 顯示下列安裝資訊畫面 :


這些是要用來設定 MySQL 資料庫的資訊, 打開 PHP 應用的 dbsettings.php 檔案, 用上面顯示的資料庫連線資訊設定下列變數 :


這就是用來存取資料庫的設定檔. 每次更換新的主機時, 就是要更換這個檔, PHP 微框架才能運作. 而 Appfog 較特殊的地方是, 第一次啟動框架時, 隨便用一個 dbsettings.php 檔都可以, 框架會自動讀取系統設定值.

另外找到一篇跟 Ruby 安裝有關的文章 :


# 安裝Rails開發環境



沒有留言 :