[FreeBSD] update apache -> 2.2.15, PHP -> 5.3.2, and MySQL downgrade to 5.1.9

昨天升級了 FreeBSD 的 Apache, PHP, and MySQL,遇到很多地雷阿,最多的就是 PHP 的部份,因為本來自己使用 5.2.11 版本,但是在 commit port 的時候發生去裝 5.3.2 版本,所以就直接砍掉全部重練,先是遇到 MySQL 問題,原先在 database/mysql60-server 已經被 FreeBSD 移除,任何關於 mysql60 的相關 port 都被 remove 掉了,只好 downgrade 到 mysql 5.1.48 版本,移除同時順手把 apache PHP 相關都拿掉了。 移除 apache mysql php 相關 ports -rf 依序找尋相關 Mysql ports 移除 pkg_deinstall -rf mysql60-server 接下來安裝 MySQL 5.1.48 Server and Client,可以找到在 databases/mysql51-server and databases/mysql51-client,直接安裝即可 cd /usr/ports/databases/mysql51-server && make install 安裝 Apache 2.2.15 cd /usr/ports/www/apache22 && make WITH_MPM=worker install 安裝 PHP 5. [Read More]

[PHP] 好用 Debug PHP 工具 FirePHP for FireFox on CodeIgniter

之前介紹過 javascript FireFox Debug 工具 FireBug (Using firebug for firefox 除錯 javascript),今天來介紹 PHP 除錯工具 FirePHP,它可以輸出 PHP 資料到 FireBug console 介面,方便解決 PHP 相關問題,而不會去影響線上網站的畫面,安裝方式非常簡單,請先安裝 FireFox addon for FirePHP,重新啟動 FireFox 這樣就安裝成功了,接下來就是 include FirePHP Library 檔案,就可以正常使用了。另外還會介紹如何安裝到 CodeIgniter PHP Framework Firebug: https://addons.mozilla.org/en-US/firefox/addon/1843 FirePHP: https://addons.mozilla.org/en-US/firefox/addon/6149 底下先看畫面: $array = array("a" => "1", "b" => "2"); $firephp->info($array, "info"); $firephp->warn($array, "warn"); $firephp->error($array, "error"); Install FirePHP 安裝 Ref : http://www.firephp.org/HQ/Install.htm 在 Zend Framework 已經有開發完成,可以參考:FirePHP and Zend Framework 1.6 下載檔案:Download FirePHPCore library version 0. [Read More]

[PHP Framework] How to implement Plurk API in CodeIgniter

ci_logo2 (by appleboy46) 很開心在12月看到 Plurk Release API 出來,而自己也跟網路上一些朋友合作開發 PHP implementation of Plurk API,Plurk (簡稱噗浪)在台灣這一兩年紅了起來,網路高手分別針對噗浪研究產生非官方的 API,現在官網 Release 出來,提供了 JavaPython 的 Example,我想因為 Plurk 是用 Python 寫出來的,所以提供了範例,但是 API 出來沒多久,roga 就集合了網路一些強者,一起開發了 PHP Plurk API,我也拿了此 API 在實作到 CodeIgniter Framework,讓在使用此套 open source 的使用者可以享用 Plurk API。不過從2009.12.29日之後,Plurk 官網有限制每天只能 call 50.000 次,已經蠻多了,不要操掛 Plurk 的機器阿。

[Read More]

[CodeIgniter] 解決 CI 下載函數 force_download 在 IE 底下檔案標題亂碼

CodeIgniter 底下提供了 force_download 函數,讓使用者可以直接下載檔案,但是會遇到中文的問題,IE 底下開起來檔名會是亂碼,force_download(‘filename’, ‘data’) 如果 filename 使用中文,測試 FireFox 跟 Chrome 都是沒問題的,唯獨 IE 開起來就是有問題,所以麻煩請修改 helpers/download_helper.php 這隻程式。 if ( ! function_exists('force_download')) { function force_download($filename = '', $data = '') { if ($filename == '' OR $data == '') { return FALSE; } // Try to determine if the filename includes a file extension. // We need it in order to set the MIME type if (FALSE === strpos($filename, '.')) { return FALSE; } // Grab the file extension $x = explode('. [Read More]

[新聞] CodeIgniter v1.7.2 Released

CodeIgniter 終於 Release V1.7.2 版本了,官方網站也公佈了此消息,那這次跟 v1.7.2 版本有哪些不一樣呢,我想最主要應該是支援 PHP 5.3.0 了

  • 相容於 PHP 5.3.0
  • 新增 Cart Class 類別
  • 改善 Form helper 函數
  • 新增 is_php() 到 Common functions 來更有善的比較 PHP 版本
  • 無數個 bug 修正
  • 修改 show_error() 函數功能 更多的 bug 修正,可以觀看

change log,我也順便了 send-pr 給 FreeBSD ports maintainer 請他 update 到 1.7.2:ports/138848,台灣的官網也需要來修正了,已經更新了 v1.7.2 上去,至於繁體中文文件方面還沒更新,有時間會把它更新,如果有任何問題,可以先到論壇留言找我。

[CodeIgniter] 分享中文官方網站範例程式碼

之前在高雄開了一堂:[CodeIgniter] Open Source PHP Web Framework 系列講座,在上課過程,我很強調大家可以多多參考網路上的範例來學習,所以找了官方網站的程式碼想分享給大家,希望大家看完程式碼,可以針對 CodeIgniter 的 Model Views Controller 有比較深入的瞭解,如果有不懂的地方,可以來論壇這邊提出問題,我會儘快回答大家,底下是程式碼的下載網址,包含論壇程式 PHPBB3,以及所有影片程式碼,大家可以參考看看: 檔案下載 裡面有需要注意的,就是 .htaccess 檔案:

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(videos|download_files|user_guide|forum|index\.php|admin|css|flash|images|img|includes|js|language|captcha|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
裡面會附上 db.sql 檔案,這是資料庫檔案,請麻煩匯入到您的資料庫,然後修改

system/application/config/database.php 內容的資料庫相關資訊,這樣就可以了。

[教學] 加入 Sphinx 繁體中文全文檢索 on CodeIgniter

sphinx 在寫這篇之前,有介紹過了 Sphinx 一篇針對繁體中文檢索的教學,大家可以先去參考看看,把 Sphinx 服務架設起來,在搭配 CodeIgniter MVC Framework 使用,把 Sphinx 提供的 PHP API 放到 CI 的 Library 裡面就可以運作了,首先去官網下載套件,然後參考官方的安裝文件,大致上就差不多了,下載的檔案裡面會有 api 資料夾,裡面提供了 python, ruby, java, php 的 client 端檔案,讓您去自由呼叫,PHP 部份可以看 sphinxapi.php 這個檔案,我們也只需要把這個檔案放入 CI 的 Library 裡面,不過寫法有些改變,請看底下

[Read More]

[CodeIgniter] Open Source PHP Web Framework 系列講座

update 2009.07.23: 有影音檔可以看了,請點選這裡 7月18日受到 OSSF::自由軟體鑄造場(Open Source Software Foundry)的邀請,在高雄講一場 Open Source PHP Web Framework系列講座 - CodeIgniter (高雄場次) ,我準備了 87 張投影片,包含介紹了 CodeIgniter 目前台灣官方網站的狀況,以及流行 PHP MVC Framework 的比較,大部分時間花在 Controller, Views 身上,還有 helper function, Library Class 教學使用,沒有把 Model 精華部份教完有點可惜,內容可能有點多,一整天六小時的課程把教學消化,好像有點困難了,這也是給我一點警惕,下次教學這部份內容要在改變一下,這樣對於來上課的學員,才不會感到排斥,最後非常感謝酷學園的阿民來幫忙錄影,以及飛亨現場支援,以及讓我有這次機會可以上台分享這幾個月在 CI 上面的使用心得,底下是我這次的上課投影片,如果大家有問題可以到論壇討論,或者是看看繁體中文教學文件,如果對於翻譯教學文件有興趣,可以再跟我聯絡喔。

[CodeIgniter] lighttpd rewrite rule && apache mod_rewrite

CodeIgniter 要移除網址列存在的 index.php,apache 必須使用 mod_rewrite 寫入 .htaccess 的方式來達成,lighttpd 也是有支援 rewrite,可以參考官方文件:Module: mod_rewrite,設定方法很容易。

$HTTP["host"] == "mimi.twgg.org" {
  server.document-root = "/var/www/html/MLB/"
  url.rewrite = (
        "^/images/.*$" => "$0",
        "^/includes/.*$" => "$0",
        "^/(.*)$" => "index.php/$1"

  )
  accesslog.filename = "/var/log/lighttpd/mimi.twgg.org-access_log"
}
[Read More]

[PHP] Gallery 3.0 Beta 1 使用 Kohana MVC Framework

Gallery Gallery 3.0 Beta 1 出來了,在 roga’s blog,看到這篇訊息,gallery 3 捨去 php smaty template engine,而改用 Kohana MVC Framework 這套 base on CodeIgniter 的 Framework,在 Gallery3:FAQ 裡面有提到為什麼會使用 Kohana 這套 MVC,gallery 團隊找尋了許多 MVC 的架構來幫助開發整個相簿系統,包含了 CakePHPZend FrameworkPradoSymfonyCodeIgniter,最後經過許多人的討論,選用了 Kohana 這套 MVC,原本打算考慮 CI 的,雖然 CI 支援 PHP4 跟 PHP5,以及它非常的小,對於效能方面也非常的好,但是並不支援 PHP5 的 exception,畢且有些少數的 Structure 只有支援 PHP4,所以就不被他們採納了,再來 Zend Framework 因為包含了 1705 個檔案,相當龐大,效能比 CI 少了 200-300%,雖然 ZF 文件相當豐富,不過沒有良好的 example 範例,所以導致 gallery 團隊遇到很多挫折,XDD。 最後選擇了 Kohana,雖然 Kohana 效能輸給 CI,不過這之間的差異極小,Kohana 也有 support PHP5 的 exception,Kohana 文件比 CI 還要少了些,不過對 gallery 團隊已經相當足夠了。底下有一篇各大 Framework 的效能比較:PHP framework comparison benchmarks,還有另一篇:Kohana vs CodeIgniter: Speed and Memory Usage Performance Benchmark