Debian GNU/Linux 安裝說明

本節包括了在 Debian GNU/Linux 下安裝 PHP 的說明和提示。

使用 APT

當然可以下載 PHP 原始碼並自己編譯,不過使用 Debian 的軟體包系統是安裝 PHP 的最簡單和最乾淨利落的方法。若果不熟悉在 Linux 下編譯軟體,那最好用此方法。

首先要決定是安裝 Apache 1.3.x 還是 Apache 2.x。相對應的 PHP 軟體包名字為 libapache-mod-php* 和 libapache2-mod-php*。以下步驟以 Apache 1.3.x 為例。注意迄今為止,還沒有 PHP 5 的正式的 Debian 軟體包。以下步驟將安裝 PHP 4。

PHP 在 Debian 下也有 CGI 和 CLI 兩種風格,分別命名為 php4-cgi 和 php4-cli。若果需要的話,只要用正確的軟體包名稱重複以下步驟。另外需要安裝的一個特殊軟體包是 php4-pear。它包括了最小的 PEAR 安裝以及 pear 指令行工具。

若果需要比 Debian 的穩定版本更新的 PHP 包或是一些不在 Debian 官方庫中的 PHP 模組,那應該看看 http://www.apt-get.org/。其中可以找到一個 Dotdeb。此非官方庫是由 Guillaume Plessis 負責維護,其中包括了最新版 PHP 4 和 PHP 5 的 Debian 軟體包。要使用,只需將以下兩行新增到 /etc/apt/sources.lists 並運行 apt-get update

例子 4-10. Dotdeb 有關的兩行

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

最後要考慮的是自己的軟體包清單是否是最新版。若果最近沒有更新過,那需要在做任何事之前先 apt-get update。這樣就可以使用最近穩定版的 Apache 和 PHP 軟體包了。

所有準備做好之後,就可以按照下面的例子來安裝 Apache 和 PHP:

例子 4-11. Debian 中在 Apache 1.3 下安裝的例子

# apt-get install libapache-mod-php4

APT 將自動安裝 Apache 1.3 的 PHP 4 模組以及所有依賴的庫並啟動之。若果在安裝過程中沒有被要求重啟動 Apache,那必須手動進行:

例子 4-12. 安裝完 PHP 4 後停止並啟動 Apache

# /etc/init.d/apache stop
# /etc/init.d/apache start

更好地控制配置

上一節中 PHP 僅安裝了核心模組。但可能不夠用,會員很快就會發現需要更多的啟動模組,例如 MySQL,cURL,GD 等。

當自己從原始碼編譯 PHP 時,需要通過 configure 指令來啟動模組。用 APT 則只需安裝附加的軟體包。這些包都命名為「php4-*」(或「php5-*」,若果安裝了第三方的 PHP 5 的話)。

例子 4-13. 取得 PHP 附加軟體包的清單

# dpkg -l 'php4-*'

從上面的輸出中可以看到,還有很多 PHP 模組可安裝(除了 php4-cgi,php4-cli 或 php4-pear 這些特殊軟體包)。仔細察看並安裝自己所需要的。若果選取了一個模組而沒有相應的庫,APT 會自動安裝所有依賴的庫。

若果選取將 MySQL,cURL 和 GD 支援新增到 PHP 中,則其指令類似於:

例子 4-14. 安裝 PHP 的 MySQL,cURL 和 GD 支援

# apt-get install php4-mysql php4-curl php4-gd

APT 會自動把適當的行新增到不同的 php.ini/etc/php4/apache/php.ini/etc/php4/cgi/php.ini 等)中去。

例子 4-15. 在 PHP 中啟動 MySQL,cURL 和 GD 的配置行

extension=mysql.so
extension=curl.so
extension=gd.so

只需像之前那樣重新啟動 Apache 來啟動這些模組。

常見問題

  • 若果看到了 PHP 原始碼而不是腳本應該產生的結果,則 APT 可能沒有 /etc/apache/conf.d/php4 內含到 Apache 1.3 配置中去。請確保下面一行出現在 /etc/apache/httpd.conf 檔案中並重啟動 Apache:

    例子 4-16. 下面這行在 Apache 中啟動了 PHP 4

    # Include /etc/apache/conf.d/
  • 若果安裝了更多模組但其函數不能在腳本中使用,請確保相應的配置行出現在 php.ini 中,如上面所說。APT 可能會由於混亂的 debconf 配置而在安裝附加模組時失敗。