跳到主要內容

發表文章

目前顯示的是 2013的文章

[野人獻曝] 在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專案的專屬網...

[野人獻曝] 在檔案上傳時即時得知進度

以一般的檔案上傳而言, 實在是沒辦法即時得知上傳進度, 使用者只能苦苦癡等網頁顯示一行「檔案已上傳」。 如果只是一個大概幾M的小檔案也就罷了, 以現在的網路速率而言是可以很快就上傳完畢了。 萬一是上百M的呢? 實在很難想像在那邊等的樣子啊...... 所以說呢,能夠瞭解即時上傳進度的東西是非常重要的。 不過在這之前,我一直以為只有像是 SWFUpload 之類的東西才能作這種事。 直到我發現 PHP-pecl 底下有個 uploadprogress 這玩意後, 我才被這玩意給嚇到了。 他的使用步驟很簡單: 確定pecl是不是可用? 利用以下指令安裝uploadprogress pecl install uploadprogress 安裝完畢後,請在你的php.ini加入以下文字載入uploadprogress: extension=uploadprogress.so 重新啟動apache,來隻測試程式看看是不是可以正常運作吧? 範例程式碼在這裡 當以上步驟都完成後就可以開始使用了。

[野人獻曝] 在Ubuntu與PHP下安裝使用MongoDB

MongoDB 是什麼,我就不說了。 所以就直接把安裝和設定的流程寫下來作個紀錄。 先安裝 MongoDB 直接下指令: sudo apt-get install mongodb 這個步驟很無腦,所以就不多說了。 確認機器是否已經安裝php-pear和php5-dev php-pear 一般主機都會安裝,所以就略過不提。 需要安裝php5-dev是因為安裝MongoDB的php函式庫需要透過pecl,而pecl又是放在這裡,所以就得安裝了。 安裝MongoDB的php函式庫 直接下指令: sudo pecl install mongo 在php.ini中加入這一行,這樣PHP才會載入MongoDB的函式庫 extension=mongo.so 啟動apache 如果是在cli模式下執行測試程式,可以略過這步。 來隻測試程式吧 點這裡看原始碼 基本上按照這些步驟就可以先把 MongoDB架起來。 (當然啦,後面還有一堆設定要作......不過本篇文章沒打算講這麼深入就是了) 之後比較熟悉一點的時候再來說明設定好了(倒

[野人獻曝] 用Phantomjs來抓網站圖

嗯,因為某個專案的需要....... (我會跟妳說我其實是要做 anti22k.org 這個專案嗎?) 我又要開始弄網頁截圖的事了。 原本我想取巧, 用以前用過的 html2image 試試看, 不過很糟的是: 我忘記當初是怎麼設定的了Orz 雖然按照網站教學試著去裝,不過似乎不能用。 因此第一個選項立刻放棄! 接著又Google到一個 wkhtmltoimage , 他是wkhtmltopdf下的一個子專案, 看起來好像頗讚。 (因為好像只要解壓縮檔案就能用......) 但是解壓縮後執行又跟我哭么「error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory」, 所以又放棄了...... (其實是不想花時間解.......) 最後找到本文要講的 Phantomjs , 這東西在linux只要解壓縮後, 再搭配一段script就可以對網頁截圖。 實際的使用方法, 這裡有篇中文的文章可以看 , 照著作就可以抓圖了。 不過要注意一下, 如果抓的網頁不是單純英文字的話, (就是有中日韓文等文字時......) 要確認系統上有沒有安裝相應的字型, 否則抓出來的圖可能就是一堆方塊。 另外網頁編碼也需要注意一下, 如果不是utf-8的話,可能會碰到亂碼的問題。 如果是對岸gb編碼的話,只要有安裝相應的簡體中文字型應該是可以正常顯示。