顯示具有 PHP 標籤的文章。 顯示所有文章
顯示具有 PHP 標籤的文章。 顯示所有文章

2012年5月21日 星期一

Ampps 一次在OSX上安裝230種OpenSource 開源碼軟體

因為MAMP 2.0.5雖然可以無法順利安裝MongoDB,但一直無法順利登入RockMongo,搜尋之下,發現Ampps這個OSX用的APH(Apache+PHP+MySQL)套件,可以一次安裝230種開源碼的APH軟體,更內建MongoDB跟RockMongo,還有CodeIgniter,jQuery等PHP與javascript套件,對於OSX的網站開發者來說,真是方便的選擇。

2011年12月24日 星期六

Aptana + Yii 外加PHP Library

參考:PHP Development

2009年12月21日 星期一

CakePHP教學 on OSX(三)開發環境:Aptana & PDT

IDE的選擇
Eclipse是受很多開發者歡迎的整合開發環境(IDE),尤其是開發Java程式。它的優點是免費,以及應用Java開發而產生跨平台的特性。同時擁有很多外掛,可以適應不同的開發語言與開發目的。不過也因為是以Java為基礎,所以先天上的效能與雙位元語言的支援上都有點抱歉,尤其是在OSX上。所幸有Aptana的出現,將Eclipse改寫為OSX的原生程式,大幅提高了執行的效能,但仍具有Eclipse相容性,能支援多數Eclipse用的外掛。

Aptana的開發一開始就是針對Web的應用,因此最初的版本主要針對JavaScript的開發。隨著RoR的出現,Aptana也開發了自己的RoR套件稱為RadRails,1.5版後RadRails變成內建套件,它將RoR開發常用的WEBrick伺服器,Sqlite簡易資料庫,Gem腳本程式等整合在一起,使得Aptana儼然成為OSX上開發RoR的最佳選擇。

不過到了2.0版,Aptana乾脆放棄了其他套件如PHP的開發,專心發展RadRails。所幸Eclipse這邊也推出了PDT(Php Development Tools)。因此使用Aptana 1.5有內建的PHP套件,但Aptana 2.0則必須要自行安裝Eclipse的PDT套件。

安裝與設定
  1. Aptana官方網站上下載最新版的Aptana Studio 2.0
  2. 因為Aptana正在推廣它的RadRails套件,所以官網上出現的是Aptana RadRails,不用擔心,這個只是內建了RadRails,還是能安裝其他套件。中間的下拉選單(Standalone/Mac/Full Installer)不要更動,直接按下“Download Now”按鈕下載回來就是;
  3. 打開下載的dmg檔案,把Aptana 2.0檔案夾拖進"應用程式(Applicarions)"就好了;
  4. 找到 /Applications/Aptana 2.0/AptanaStudio 程式,點二下打開;
  5. Aptana Studio的啓動畫面;
安裝Aptana的Plugin
  1. Aptana Studio的首頁,按下間下方的“Install Plugin”連結;
  2. Plugin頁面可以看到Aptana內建的外掛,例如RadRails等,要安裝其他如Eclipse的外掛,請按下“View Plugin Manager”連結;
  3. 視窗下方會出現“Plugin Manager”分割視窗,按分割視窗右上方綠色的“+”號按鈕;
  4. 出現“Install Additional Features”視窗,選擇PHP開發必要的外掛,例如PHP Development Tools(PDT), PHP DebuggerBinaries 跟 jQuery Support等等,然後按下“Install”按鈕;
  5. 接下來Aptana會自己上網找到套件下載,請稍等:

  6. 確認可用的套件後,可以再選擇一次。PDT SDK 2.0.1有問題無法下載請不要勾選。Ajax套件如果不須要也可以不用全部下載,我只安裝了jQuery。Zend CE Features有時下載速度很慢,如有問題可以稍候再選。確認無誤後,請按“Next>”按鈕;
  7. 網路速度過慢,或某個套件下載有問題時,會出現等候視窗。按右邊的紅色方塊可以取消下載,重新選取個別的套件,分別下載;
  8. 全部下載完畢會出現“Install”視窗,請按“Next >”;
  9. 安裝過程的版權宣告有點囉唆,剛開始不太習慣。請先按“I accept ....”那一項接受版權宣告,然後再按“Finish”按鈕才行;
  10. 接下來才會真正地安裝,真是奇怪的程序;
  11. 終於安裝完畢,接下來要重新啓動Aptana,請按“Yes”;
  12. 以後隨時要安裝Aptana的外掛,可以從Help選單中選擇“Install Aptana Features...”即可;
設定Aptana預設的文件語言編碼
  1. Aptana安裝完後,預設的語言編碼會與系統相同(例如Big5),最好調整一下設定改成utf-8,以減少以後開發上語言編碼的困擾。請從Aptana選單選擇“偏好設置(Preference)”;
  2. 從側邊欄的“General”下找到“Workspace”項目,把右頁左下方的“Text File Encoding”項目,點選“Other”,然後選單選“UTF-8”,然後按“Apply”或“OK”按鈕。
接下還要安裝CakePHP並與Aptana整合。
上一篇|下一篇 安裝CakePHP >

CakePHP教學 on OSX(二)安裝伺服器:MAMP

AMP開發伺服器的選擇

在OSX上要開發AMP網站基本上很容易。因為Apache伺服器跟PHP程式都是內建的,隨著作業系統還有免費的XCode開發環境。伺服器版的OSX Server內建MySQL,只有一般用的OSX版本需要額外安裝MySQL。對於高手來說,OSX上的AMP可以說是萬事俱備。

但是不幸的是,OSX內建的PHP,不知為何缺乏一些網站必要的函式庫,如處理圖檔的GD,處理雙位元語言的mbstring等等。對於程式高手來說,可以用XCode自己編譯這些函式庫並加入PHP,這對於我們這種非科班的程式的開發者來說,在OSX上要安裝這些PHP套件就非常麻煩。

對於我來說,有兩個選擇,一是安裝Marc Liyanage事先編譯好的Entropy PHP套件,另外就是使用MAMP程式。兩者的差別是,前者適用來取代系統內建的PHP,所以啓動方式往往得用到root權限來修改系統內建的一些設定檔案,比較適合拿來取代真正要作為伺服器使用的OSX上的PHP。後者是與作業系統分離的獨立軟體,不會干擾到系統的設置,比較適合拿來作在OSX上作程式開發之用。

此外,PHP的版本更新上,Entropy PHP套件的版本受限於Marc Liyanage個人的時間,更新速度比較慢;相較之下,MAMP的PHP版本更新速度就快很多。除了PHP版本外,使用Entropy PHP,還是得要自行安裝MySQL套件與phpMyAdmin。但往往因為OSX、MySQL、PHP的版本更新,尤其經歷OSX 10.5, 10.6大改版之後,往往造成Apache, PHP, MySQL與phpMyAdmin四者整合連線上的問題。而MAMP一個套件整合了Apache, MySQL, PHP4/5 跟phpMyAdmin等,讓開發者不須要自己解決整合問題,可以說省事許多。因此在OSX 10.6上開發AMP網站,MAMP可以說是最好的選擇。

安裝與啓動MAMP
  1. MAMP官方網站上,下載MAMP
  2. 從1.8版開始,MAMP把免費跟商用的Pro版本放在一起,所以解開dmg檔案後會有兩個版本。我們只要免費的MAMP就好了。把MAMP檔案夾拖進“應用程式(Appliactions)”檔案夾;
  3. 打開 /Appliaction/MAMP/MAMP 程式;
  4. 會提示輸入OSX的使用者密碼。啓用與關閉MAMP都要輸入據有管理員等級的使用者密碼;
  5. 然後就會出現MAMP視窗;
  6. 同時會啓動瀏覽器,顯示MAMP的起始頁面(Start Page)。
MAMP設置
  1. 按一下MAMP視窗的"Preferences..."按鈕;
  2. 基本上我個人習慣使用內建的Port,可以在測試時,少打一些字。按一下"Port"標籤,然後按下“Set to default Apache and MySQL ports”
  3. 要注意,如果使用Apache預設的port 80,記住要關掉OSX系統內建的“個人網頁共享”功能,以免內建的Apache伺服器跟MAMP衝突。
接下來要安裝開發環境Aptana。

CakePHP教學 on OSX(一)開發框架:CakePHP vs. RoR

網站開發語言選擇

RoR (Ruby on Rails)是新崛起的網站應用開發“框架(framework)”,以能迅速開發網路應用聞名。但對於已經習慣了PHP語法的我來說,Ruby語言實在過於簡化,而且依賴很多特殊的“符號(如<, ::, ?, @)”以及對於整個程式語法都很不習慣。加上Rails框架設計野心很大,整體架構也很龐大,很多魔法般的應用讓人對於整個MVC框架中,指令與資料的來龍去脈難以掌握。因此即使花了幾個月斷斷續續K了“敏捷網站開發(Agile Web Development with Rails)”還是沒看完,對於RoR的整體架構還是如入五里雲般,更別提什麼敏捷開發了。因此,不僅又回頭考慮,是不是該回頭好好研究比較熟悉的PHP程式,然後找一個好用的框架如ZendCakePHP來應用。

PHP語言也許不如Ruby的簡潔與完全的物件導向,但畢竟發展時間比較久,多數大型網站的程式還是使用PHP而不是Ruby。此外也考慮到,AMP(Apache, MySQL & PHP)在多數Linux為基礎的網路儲存伺服器(NAS)上還是主流。拿一台內建AMP的簡易的NAS,如SynologyQnap的產品作快速雛形網站測試,然後再搬遷到實際的網路伺服器,效率應該也不會比在伺服器上架構RoR差。更何況支援AMP的網路供應商,要比起RoR來得多很多。因此,選擇PHP來開發網站,現階段來說還是有很多優勢,尤其是對於已經熟悉PHP語法的人來說。

程式架構的選擇

在短暫的RoR學習中,了解它有幾項設計特性:
  1. 是考慮到資料庫的獨立性而不依賴特定的資料庫程式;
  2. 是資料架構(schema )設計與資料庫遷移(migrations)的便利性;
  3. 避免轉寫重複或類似功能的程式碼;
  4. 考慮未來發展大型網站的擴充性等等。
以上這些特性,都是其他程式框架發展可以學習的優點。而在PHP程式框架中,學的最徹底的大概就是CakePHP。像是搭鷹架(Scaffolding)的方式,寫一行程式就完成資料庫的CRUD(Creat, Retrieve, Update & Delete)功能,以及自動地由資料模型產生出程式碼的腳本等功能。在嘗試學習過一陣子RoR感到挫折之後,回頭看到這些CakePHP的功能與熟悉的PHP語法,可以說是倍感親切。

不過可惜的是,CakePHP的英文書不多,中文資訊更是不足,正體中文書好像完全沒有,台灣的使用者好像也不多。官方的文件本身就有很多部份沒說清楚,中文版更是殘缺不全。一堆API的文件是用外掛自動產生的內容過於簡短,缺乏像PHP官方網站上的應用範例,而許多由網友撰寫的範例則是放在麵包店(bakery)裡。這些因素,造成CakePHP這塊美味的蛋糕,在台灣好像一直乏人問津的樣子。

但是經過這幾天實際的嘗試學習時,還真的是覺得甜美無比。尤其是在OSX上,使用MAMP這個簡易的AMP伺服器,以及Eclipse為基礎,對OSX系統優化提升以執行效率,搭配OSX優美界面版的免費IDE:Aptana。發現只要經過適當的調教,可以讓CakePHP的開發,在Aptana裡如RoR般簡單,命令列指令也少得多了。

接下來解說在OSX10.5/10.6上,如何整合MAMP,Aptana與CakePHP,進行網站開發。

2009年2月22日 星期日

OSX 10.5 啟用 PHP5

OSX的兩個版本(Server, Client)都已經內建了 PHP,但不是缺乏處理雙位元字元的 iconv, mbstring (10.4)或是處理圖檔的 gd (10.4/10.5)等重要擴充模組。對於需要建置處理雙位元或Unicode字元,以及需要處理圖片的網站,造成很多困擾。而且,OSX上的PHP不能像是Windows的PHP模組,可以透過Windows本身的動態連結程式庫(DLL)功能,直接修改一下 php.ini 設定檔案就可以掛入 iconv, mbstringgd 模組。

OSX 10.5之前,OSX 10.4上安裝具有 iconv, mbstringgd 模組的PHP最簡單的方式,除了直接安裝一些AMP整合套件(Apache+MySQL+PHP)如 MAMP 之外,就是安裝 Marc Liyanage 編譯好的 PHP for OSX 模組。安裝AMP套件最簡單,但是OSX既然已經內建了Apache (2.x for OSX Server & 10.5, 1.x for Client 10.4),實在不需要再多裝一個;另外,AMP套件中的MySQL也不能自己選擇版本。因此 Marc Liyanage 的版本一直是許多人Mac使用者的最佳選擇。但可惜在10.5之後,就不再提供可以直接安裝的 Package 的版本,而必須以終端機程式,手動鍵入指令的方式來安裝。

如果不需要 iconv, mbstring (10.4)或是 gd 模組,使用OSX內建的php模組是不錯的選擇。以下介紹OSX 10.5 Client與Server版本啟動內建php模組的方法。

一、啟動OSX 10.5 Client內建的PHP模組

  1. 登入 root 帳號;
    如果不想老是用終端機程式(Terminal.app)輸入一堆指令,最好的方式是啟用OSX的 root 帳號,就能直接用 文字編輯(TextEdit.app) 軟體修改 Apache 與 PHP 的設定檔。啟動 10.5 的 root 帳號,請先參考OSX 10.5 啟動與登入 root 帳號這一篇。

  2. 先打開 應用程式 檔案夾,找到 文字編輯(/Applications/TextEdit.app) 備用,或是拉到 Dock 上作一個替身;

  3. 另外打開一個新視窗,然後按 前往選單 > 前往檔案夾… 選單;

  4. 前往檔案夾: 欄位中輸入: /etc/apache2 ,然後按下“前往”按鈕;


  5. 找到 httpd.conf 檔案,這是 Apache 網頁伺服器的設定檔。先不要打開它!先按一下鍵盤捷徑 D (同時按下Command鍵()與D鍵)複製一份拷貝,萬一設定錯誤導致網頁伺服器無法順利啟動時,就可以用備份的設定檔來恢復。


  6. httpd.conf 檔案不能直接點二下打開,把 httpd.conf 檔案拉到上 文字編輯(/Applications/TextEdit.app) 就可以開啟了;

  7. 因為字元編碼與隱藏字元(如斷行符號)處理的問題,有人建議是不要直接用 文字編輯 而用 BBEdit 之類的文字處理器比較安全,不過我用 文字編輯 是還沒發現啥大問題,如果不放心又不想花錢,免費的 BBEdit Lite 是不錯的選擇 。

  8. 接下來就要修改 httpd.conf 檔案。按一下鍵盤捷徑 D (同時按下Command鍵()與F鍵)打開尋找視窗,在 尋找 欄位輸入 php 然後按“下一個”按鈕;

  9. 4會跳到這一行:
    #LoadModule php5_module libexec/apache2/libphp5.so

    請把一行最前面的 #刪除
    LoadModule php5_module libexec/apache2/libphp5.so

    # 字元是httpd.conf 檔案的註記符號,只要刪掉它,Apache 就會載入內建的php5模組。

  10. 然後按一下S (同時按下Command鍵()與S鍵) 存檔,然後離開 文字編輯 程式。

二、測試10.5 Client內建的Apache伺服器

接下來要測試 Apache 伺服器是否能順利啟動,因為如果 httpd.conf 檔案修改不當,可能會導致 Apache 伺服器無法順利啟動,而OSX 10.5 Client並不會像 10.4 一樣會顯示無法啟動的訊息,所以必須手動測試。
  1. 打開 蘋果選單 > 系統偏好設置… > 共享
  2. 共享 項目的側邊欄,找到 網頁共享 項目。如果 網頁共享 項目已經被勾選,請先把它取消這個動作會關閉OSX內建的Apache網頁伺服器,要套用 httpd.conf 檔案的更動,就必須重新啟動 Apache 伺服器才行 。等到右側出現 網頁共享:關閉 之後,再勾選一次 網頁共享 項目,稍等一下,右側就會出現 網頁共享:啟用

  3. 接下來可以試試 Apache 伺服器是否順利運行。注意!如果您是使用 root 帳號的話,請不要點選右下角 您的個人網站:下的 http://x.x.x.x/~root/ 的連結,會出現沒有存取權限的錯誤!這是由於網頁共享時,系統會用 www 這個隱藏的使用者來存取你共享的網頁,但為了安全起見, www 是不能取用 root 帳號的任何目錄的。所以要測試的話,請點一下右邊中間 您的電腦網站:下的 http://x.x.x.x/ 這個連結,不過如果您的預設瀏覽器是 Safari 的話,你可能會看到一個滿是亂碼的網頁:

  4. 這是 Safari 沒有把網頁編碼正確的轉換為 Big5(FireFox 倒是沒有問題,不會出現亂碼),請手動地選擇一下Safari 選單 顯示方式 > 文字編碼 > 繁體中文(Big 5),就可以看到Apache的宣告網頁了。


  5. 不過萬一不幸的話,你很可能換看到“無法連到伺服器”的錯誤提示,這就表示您修改的httpd.conf 檔案出了問題,導致 Apache 無法順利啟動。
    在 OSX 10.4 的時代,內建的 Apache 1.4 無法啟動時,可以在 系統偏好設置… > 共享 > 網頁共享 項目看到“網頁共享:無法啟動”的訊息,但 OSX 10.5 卻還是會顯示“啟用”,真是一大退步!


  6. 如果碰到 Apache 無法啟動的狀況,請用 root 帳號把有問題的 httpd.conf 檔案刪除,然後把備份的 httpd.conf 拷貝 檔案“複製並更名”為原來的 httpd.conf 。然後 關閉 然後 啟用 網頁共享 的動作。如果當初備份的 httpd.conf 拷貝 的檔案沒有問題,應該就可以順利啟動 Apache。所以,更動 httpd.conf 前一定要記得先留下正確可以運行的備份檔案。

三、測試10.5 Client內建的php模組

如果 Apache 伺服器可以正常運作,接下來要測試 php 模組是不是可以使用。
  1. 如果目前是以 root 帳號登入,請先登出並以一般使用者登入。如果你已經開啟了“快速切換使用者”功能,就可以從右上角的“使用者選單”選擇你要登入的帳號;

  2. 出現登入視窗後,輸入您的密碼;
  3. 登入後,接下來要製作一個php測試檔案。這時還不需要動用到 DramWeaver 之類的網頁軟體,用 文字編輯(/Applications/TextEdit.app) 或 BBEdit Lite 就綽綽有餘。打開 文字編輯 軟體後,先從選單 格式 > 製作純文字格式 ,以免製作出的檔案藏了一些與 php 衝突的控制字元;

  4. 然後,請輸入以下的 php 程式碼,只有三行:

    <?php
    phpinfo();
    ?>


  5. 然後存檔,從選單選擇 檔案 > 儲存為…

  6. 存檔時請注意檔案格式與路徑。請將存檔路徑更換到 個人家目錄/網站 (/Users/用戶名稱/Sites) 底下,檔案名稱取為 phpinfo.php
    對話框的下方 純文字編碼選單,由於沒有中文字,所以選擇 Unicode/西方語系/繁體中文 皆可。
    注意!
    存檔對話框的下方 隱藏副檔名如果未提供副檔名,請使用“.txt”。這兩個項目請都不要勾選!框然後按下“儲存”按鈕。

  7. 接下來開啟你的瀏覽器,輸入你的網址,例如 http://127.0.0.1/~用戶名稱
    如果你稿不清楚自己的用戶名稱或一直無法輸入正確的網址,也可以打開 蘋果選單 > 系統偏好設置… > 共享 > 網頁共享 項目,點選右下角的 你的個人網站: 下方的網址;
  8. 網址正確的話,就會在瀏覽器上看到個人網站的預設歡迎頁面;

  9. 然後在你的瀏覽器上個人網站的網址後面,加入 phpinfo.php 檔名,
    例如:http://127.0.0.1/~用戶名稱/phpinfo.php
    然後按下鍵盤的 Enter 鍵或瀏覽器的 前往 按鈕,就可以打開 php 測試網頁;

  10. 恭喜!如果你看到了測試頁,就表示你不但已經成功地啟動OSX 10.5內建的 Apache 網頁伺服器,也正確地啟動了系統內建的 php 模組。

四、啟動OSX 10.5 Server內建的PHP模組

啟動OSX 10.5 Server內建的PHP模組要比Client版簡單多了。不過如果你不能直接登入OSX Server,或使用Client版以遠端遙控的方式管理的話,就需要安裝Server版的第二片 Admin Tools 光碟裡的 Server Administration Software,用 Server Admin 軟體與OSX Server連線。安裝 Server Admin 軟體與OSX Server連線的方法,請先參考這一篇:「OSX Server 10.5 Server Admin(1): 安裝與連線伺服器」;
  1. 先用 Server Admin 軟體連線到OSX Server伺服器,點一下左邊側邊欄的 伺服器的名稱或位置 左方的 三角形圖示 ,底下就會顯示出目前伺服器正在運作的服務項目;
  2. a. 請點選 Web 服務項目;
    b. 再按右上方的 Setting 圖示
    c. 接下來點下方的 Modules 標籤;
    d. 把 Modules 標籤頁的底下模組欄位視窗往下捲動,找到 php5_module 項目,然後請勾選 php5_module 項目;
    e. 按右下角的“Save”按鈕存檔,Server Admin 就會自動幫你修改 httpd.conf 檔案;
    f.最後按左下角的 Stop Web 按鈕,把伺服器的 Web 服務關閉;

  3. Server Admin 軟體會提示是否要關閉 服務(Server)。關閉一個服務並不會影響伺服器上其他的服務功能,請按下“Stop Now”按鈕;

  4. 跟 Client 版本的 Apache 伺服器一樣,必須關閉後再重新啟動,才能啟動 php 模組。請按左下角 Start Web 按鈕,稍後 Web 服務的圖示就會變成綠燈,表示Web 服務已經啟動;

  5. 最後一個動作,請按照上面 “三、測試10.5 Client內建的php模組” 方法,製作一份 phpinfo.php 測試檔案,上傳到伺服器上來測試 Apache 與 php 模組是否能正常運作。