Debian GNU/Linux 安裝說(shuō)明

本節(jié)包含了在 ? Debian GNU/Linux 下安裝 PHP 的說(shuō)明和提示。

警告

這里不支持非官方的第三方發(fā)行包。任何錯(cuò)誤應(yīng)報(bào)告給 Debian 開發(fā)組,除非該錯(cuò)誤在使用從官方? 下載的最新版時(shí)仍能重現(xiàn)。

盡管在 Unix 下編譯 PHP 的指示也適用于 Debian,本節(jié)包含有一些特定信息,例如使用 apt 或者 aptitude 命令。本節(jié)中這兩條命令可以互換。

使用 APT

首先,注意其它有關(guān)的包可能需要 libapache-mod-php 集成入 Apache 2,以及 PEAR 的 php-pear。

其次,在安裝一個(gè)包之前,最好先確定該包是最新版。通??梢赃\(yùn)行命令 apt update。

示例 #1 Debian 下將 PHP 安裝入 Apache 2 的例子

# apt install php-common libapache2-mod-php php-cli

APT 將自動(dòng)安裝 Apache 2 的 PHP 模塊以及所有依賴的庫(kù)并激活之。應(yīng)重啟動(dòng) Apache 以使更改生效,例如:

示例 #2 安裝完 PHP 后停止并啟動(dòng) Apache

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

更好地控制配置

上一節(jié)中 PHP 僅安裝了核心模塊。很可能還需要更多模塊,例如 MySQL,cURLGD 等。這些模塊也可以通過(guò) apt 命令安裝。

示例 #3 取得 PHP 附加軟件包的列表

# apt-cache search php
# apt search php | grep -i mysql
# aptitude search php

以上命令的輸出中列出了很多的包,其中有幾個(gè)針對(duì) PHP 的模塊例如 php-cgi,php-cli 以及 php-dev。決定好要安裝哪些之后可以用 apt 或者 aptitude 來(lái)安裝。Debian 會(huì)進(jìn)行倚賴性檢查,會(huì)給出提示,例如安裝 MySQL 和 cURL:

示例 #4 安裝 PHP 的 MySQL 和 cURL 支持

# apt install php-mysql php-curl

APT 會(huì)自動(dòng)把適當(dāng)?shù)男刑砑拥讲煌?php.ini 相關(guān)文件中去,例如 /etc/php/7.4/php.ini/etc/php/7.4/conf.d/*.ini 等,并且根據(jù)擴(kuò)展,還會(huì)添加類似 extension=foo.so 的內(nèi)容。不過(guò)還是需要重新啟動(dòng) web 服務(wù)器(例如 Apache)以使這些改動(dòng)生效。

常見(jiàn)問(wèn)題

  • 如果 PHP 腳本沒(méi)有通過(guò) web 服務(wù)器被解析,則有可能是 PHP 沒(méi)有被加入到 web 服務(wù)器的配置文件中,在 Debian 中可能是 /etc/apache2/apache2.conf 或類似文件。具體內(nèi)容參見(jiàn) Debian 手冊(cè)。
  • 如果某擴(kuò)展貌似已經(jīng)安裝,但其函數(shù)卻又未定義,確保合適的 ini 文件已被加載并且 web 服務(wù)器在安裝后重新啟動(dòng)過(guò)。
  • 在 Debian(以及其它 Linux 變種)下有兩個(gè)基本命令來(lái)安裝包:aptaptitude。不過(guò)要解釋這兩個(gè)命令的細(xì)微區(qū)別已超出本手冊(cè)范圍。