展開文件目錄

入門指南

使用最新穩定版本 (5.6)

如果你剛開始學習 PHP,請使用最新的穩定版本 PHP 5.6。PHP 近年來有巨大的改進,增加了許多強大的 新特性。雖然 5.2 和 5.6 之間增加的版本號似乎很小,但他代表了 重大的 改進。如果你想查詢一個函數的使用方法,在 php.net 官方網站的 PHP 手冊上查詢。

內建網站伺服器

PHP 5.4 之後,你可以開始學習 PHP 而不需要安裝與設定一個完整的網頁伺服器。要啟動內建伺服器,從終端機進入專案的 Web 根目錄下,執行下面的指令:

> php -S localhost:8000

Mac 安裝

OSX 會預載 PHP 在系統中,但版本略舊於最新的穩定版本。Lion 預載 PHP 5.3.6,Mountain Lion 是 5.3.10,而 Mavericks 則是 5.4.17,Yosemite 則是 5.5.9,但在 PHP 5.6 出來之後,這些往往是不夠的。

這裏有許多方式可以在 OS X 上安裝 PHP。

透過 Homebrew 安裝 PHP

Homebrew 是一個強大的 OS X 專用套件管理系統,它可以讓您輕鬆地安裝 PHP 和各種擴充套件(extensions)。

Homebrew PHP 是一個包含與PHP相關的Formulae,能讓您透過 homebrew 安裝PHP。也就是說,你可以透過 brew install指令,安裝 php53php54php55、或 php56,並且透過修改你的路徑 PATH 變數去切換各種版本。

透過 phpbrew 安裝 PHP

phpbrew 是一個專門安裝與管理多重 PHP 版本的工具。它在應用程式或專案 PHP 版本需求不同的情況下會非常有用,讓你不再需要使用虛擬機器處理這種情況。

編譯原始碼

另一個可以讓你控制你要安裝的PHP版本的選擇就是自行編譯。在這種方法,您必須先確認您是否已經透過「Apple Developer: Mac Dev Center」下載、安裝 Xcode 或是 "Command Line Tools for XCode"

整合包 (All-in-One Installers)

上述所列的解決方式主要是針對 PHP 本身,並且不包含:像是 Apach 、 Nginx 、或是 SQL 伺服器。整合包像是 MAMPXAMPP 會幫你安裝這些軟體並且將他們綁在一起,但是易於安裝的背後就是犧牲了一些彈性。

Windows 安裝

在 Windows 下有多種安裝 PHP 的方式,你可以 下載安裝檔 並使用 .msi 的安裝檔。從 PHP 5.3.0 之後,該安裝檔將不再提供下載與支援。

如果是為了學習或者是本地端開發需求,從 PHP 5.4 之後,你可以使用內建的網頁伺服器,省去設定伺服器的麻煩。如果你想要也包含網頁伺服器以及 MySQL 的一鍵安裝包,那像是 網頁平台安裝包 的工具,如 Zend Server CEXAMPPEasyPHPWAMP 將會幫助您快速建立 Windows 開發環境。不過這些工具將會與正式執行環境會有些許差別,如果你是在 Windows 開發,而部署至 Linux 上的情況下,請小心。

如果你希望將網頁部署到 Windows 上,那 IIS7 將會提供最穩定且最佳的性能。你可以使用 「phpmanager]phpmanager (IIS7 圖形化插件) 能讓你簡單設定並管理 PHP。IIS7 也有內建 FastCGI,你僅需將 PHP 設定為他的處理器即可。詳情請見 dedicated area on iis.net

Vagrant

如果你在開發應用與發布應用時使用不同的環境,那麼在正式上線時,可能會發生一些奇怪的錯誤。 在與一群團隊的開發者共同開發時,要保持每個環境同步,且所有的函式庫皆在同版本上,是最棘手的一件事情。

如果你是在 Windows 上開發,部署到 Linux(或非 Windows 平台),或者是團隊裡工作,你應該考慮使用虛擬機器。聽起來很麻煩,但使用 Vagrant 你僅需幾個步驟就能設定好一個簡單的虛擬機器。再來需要手動設定基礎環境,或者你可以使用 “部署軟體” 如 PuppetChef 來幫你完成這些事情。部署基礎環境是很好的做法保證大家的開發環境以相同的方式建立。並且省去你維護那些複雜的”安裝指令”。你也可以輕易地毀掉現有的基礎環境後再重新建立一個新的,這樣你就可以有一個全新的環境。

Vagrant 會建立共用資料夾,讓你可以在你的主機與虛擬機之間共用程式碼,也就是你可以在你的主機上建立與編輯檔案,然後在你的虛擬機器上面執行。

小助手

如果你想要取得一些 Vagrant 上的使用幫助的話,可以參考下面三個服務:

  • Rove: 提供你預先建立的 Vagrant 類型,其中包含 PHP 選項。使用 Chef 來部署。
  • Puphpet: 簡單的圖形化介面來設定虛擬機裡的 PHP 開發環境。專注於 PHP 開發,除了本地端虛擬機外,還可以部署到雲端服務上。部署工具使用 Puppet。
  • Protobox: 構建在 Vagrant 上的服務層,提供網頁圖形介面去設定虛擬機器。通過單一 YAML 檔案去控制虛擬機的所有設定。
  • Phansible: 為 PHP 專案提供一個簡單易用的介面,協助你產生 Ansible Playbooks。