2013年10月13日 星期日

[野人獻曝] 在Google Appengine上佈署Codeigniter

因為最近GAE開放了對PHP的支援,理所當然地我也去申請測試這玩意了(遠望)。
所以本篇文章要來講一下怎麼樣在Google Appengine上佈署Codeigniter。

提示:因為GAE For PHP是採申請制的,所以要有申請過才能用。如果沒申請過,就算照以下步驟作也是沒辦法用的(應該吧)。申請網址:http://gaeforphp.appspot.com/

以下步驟是在Ubuntu的命令列下執行,如果是用Windows的話,除了敲指令的部分外,基本上都是一樣的!另外以下的操作需要Google Appengine SDK,請先自行下載處理。

第一步:先到Github下載CodeIgniter-AppEngine這個專案
wget https://github.com/edwardmp/CodeIgniter-AppEngine/archive/master.zip --no-check-certificate
下載完後解壓縮
unzip master.zip
之後應該會看到一個CodeIgniter-AppEngine-master目錄

第二步:切換到CodeIgniter-AppEngine-master目錄,編輯app.yaml
檔案內容如下,要修改的是用大括號包起來的地方:
application: {你的Google AppEngine專案名稱}
version: 1
runtime: php
api_version: 1

handlers:
- url: /
script: CodeIgniter_2.1.3/index.php

- url: /(.+)
script: CodeIgniter_2.1.3/index.php
注意,除了大括號的地方外,其他地方都暫時先不要修改。
修改完存檔離開。

第三步:利用Google AppEngine SDK把檔案佈署上去
{GAE SDK路徑}/appcfg.py update CodeIgniter-AppEngine-master/
在第一次佈署時會要求你輸入GAE的帳號密碼後才會開始佈署,
之後就不會再問了。

完成佈署後,可以打開瀏覽器,並在網址列輸入GAE專案的專屬網址。
如果沒意外的話應該會看到Codeigniter的歡迎頁面,
這就代表你的佈署完成了。

接著你就可以開始Coding了!

對了,最後要補充一下,GAE For PHP目前無法連到外面的DB,
所以既有用到DB的程式可能是沒辦法搬過去了。
如果執意要搬的話就要考慮把既有程式翻掉,
改用Google提供的DB服務。