Debian GNU/Linux 安装说明

本节包含有关在 » Debian GNU/Linux 上安装 PHP 的特定说明和提示。

警告

不支持来自第三方的非官方构建。任何错误应报告给 Debian 团队,除非它们可以使用我们 » 下载区域 中的最新构建来重现。

虽然在 Unix 上构建 PHP 的说明也适用于 Debian,但本手册页面包含有关其他选项的特定信息,例如使用 aptaptitude 命令。本手册页面在这两个命令之间交替使用。

使用 APT

首先,请注意可能需要其他相关软件包,例如 libapache-mod-php 用于与 Apache 2 集成,以及 php-pear 用于 PEAR。

其次,在安装软件包之前,明智的做法是确保软件包列表是最新的。通常,这是通过运行命令 apt update 来完成的。

示例 #1 Debian 安装示例(使用 Apache 2)

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

APT 将自动为 Apache 2 安装 PHP 模块及其所有依赖项,然后激活它。应重新启动 Apache 以使更改生效。例如

示例 #2 安装 PHP 后停止和启动 Apache

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

更好的配置控制

在上一节中,PHP 仅使用核心模块安装。很可能需要其他模块,例如 MySQLcURLGD 等。这些也可以通过 apt 命令安装。

示例 #3 列出其他 PHP 软件包的方法

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

这些示例将显示许多软件包,包括一些 PHP 特定软件包,例如 php-cgi、php-cli 和 php-dev。确定需要哪些软件包并像其他任何软件包一样使用 aptaptitude 安装它们。由于 Debian 执行依赖项检查,它会提示安装那些依赖项,例如,要安装 MySQL 和 cURL

示例 #4 安装带有 MySQL 和 cURL 的 PHP

# apt install php-mysql php-curl

APT 会自动将适当的行添加到不同的 php.ini 相关文件中,例如 /etc/php/7.4/php.ini/etc/php/7.4/conf.d/*.ini 等,并且根据扩展的不同,会添加类似 extension=foo.so 的条目。但是,在这些更改生效之前,需要重新启动 Web 服务器(例如 Apache)。

常见问题

  • 如果 PHP 脚本没有通过 Web 服务器解析,那么可能是 PHP 没有添加到 Web 服务器的配置文件中,在 Debian 上可能是 /etc/apache2/apache2.conf 或类似文件。有关更多详细信息,请参阅 Debian 手册。
  • 如果扩展似乎已安装但函数未定义,请确保正在加载适当的 ini 文件,或在安装后重新启动 Web 服务器。
  • 在 Debian(和其他 Linux 变体)上安装软件包有两个基本命令:aptaptitude。但是,解释这两个命令之间的细微差别超出了本手册的范围。
添加注释

用户贡献的注释 6 个注释

thumbs at apache dot org
11 年前
为了更新本文档,也许值得一提的是在 apache httpd 下提供 php 内容的更现代方法。

具体来说,现在首选的方法是 fastcgi,使用以下两种方法之一

(mod_fastcgi, httpd 2.2)
http://wiki.apache.org/httpd/php-fastcgi

(mod_fcgid, httpd 2.2)
http://wiki.apache.org/httpd/php-fcgid

(mod_proxy_fcgi, httpd 2.4)
http://wiki.apache.org/httpd/PHP-FPM

虽然传统 mod_php 方法对于一些旧的安装仍然适用,但 fastcgi 方法速度更快,并且在类似的流量模式下需要的 RAM 更少。

谢谢!
kearney dot taaffe at gmail dot com
6 年前
在 Ubuntu 盒子上编译 PHP。

如果您想从源代码编译 PHP,而不是依赖软件包维护者,这里列出了您可以运行的软件包和命令

步骤 1
sudo apt-get install autoconf build-essential curl libtool \
libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \
libreadline-dev libzip-dev libzip4 nginx openssl \
pkg-config zlib1g-dev

为了不覆盖系统上任何现有的 PHP 安装,请在您的主目录中安装 PHP。创建一个目录来存放 PHP 二进制文件

mkdir -p ~/bin/php7-latest/

步骤 2
# 下载最新的 PHP 压缩包,解压缩它,然后 cd 到新目录。

步骤 3
配置 PHP。删除任何不需要的选项(例如 MySQL 或 Postgres (--with-pdo-pgsql))

./configure --prefix=$HOME/bin/php-latest \
--enable-mysqlnd \
--with-pdo-mysql \
--with-pdo-mysql=mysqlnd \
--with-pdo-pgsql=/usr/bin/pg_config \
--enable-bcmath \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-mbstring \
--enable-phpdbg \
--enable-shmop \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-zip \
--with-libzip=/usr/lib/x86_64-linux-gnu \
--with-zlib \
--with-curl \
--with-pear \
--with-openssl \
--enable-pcntl \
--with-readline

步骤 4
通过输入以下命令来编译二进制文件:make

如果没有错误,请通过输入以下命令来安装:make install

步骤 5
将 PHP.ini 文件复制到安装目录

cp php.ini-development ~/bin/php-latest/lib/

步骤 6

cd ~/bin/php-latest/etc;
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

步骤 7
为您的二进制文件创建符号链接

cd ~/bin
ln -s php-latest/bin/php php
ln -s php-latest/bin/php-cgi php-cgi
ln -s php-latest/bin/php-config php-config
ln -s php-latest/bin/phpize phpize
ln -s php-latest/bin/phar.phar phar
ln -s php-latest/bin/pear pear
ln -s php-latest/bin/phpdbg phpdbg
ln -s php-latest/sbin/php-fpm php-fpm

步骤 8:将您的本地 PHP 链接到 php 命令。您需要注销然后重新登录才能让 php 切换到本地版本,而不是已安装的版本

# 将此添加到 .bashrc
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi

步骤 9:启动 PHP-FPM

sudo ~/bin/php7/sbin/php-fpm
marin at sagovac dot com
10 年前
要在 Ubuntu(+ 服务器)上从 10.04 安装 LAMP 堆栈,您需要先安装 taskel,然后安装 lamp-server,例如

安装 taskel,按照终端指南进行操作
sudo apt-get install tasksel

从 Ubuntu 存储库安装 LAMP 堆栈软件包
sudo tasksel install lamp-server
juraj at jurajsplayground dot com
15 年前
在 Ubuntu(从 7.04 开始),最好使用
sudo tasksel install lamp-server

详细信息
https://help.ubuntu.com/community/ApacheMySQLPHP
John Fisher
17 年前
在 Debian Sarge 下使用 Apache2 和 Php4,还有一个额外的配置文件:/etc/apache2/sites-available/default
此文件没有明确记录,至少对于新手来说,在 Apache 文档中没有记录。

它以您预期 /etc/apache2/conf.d/apache2-doc 按照 README 中所述的方式执行的方式覆盖了 conf 文件。

向其中添加 ExecCGI 以消除“此目录中 Options ExecCGI 已关闭”错误。
tranzbit at yahoo dot com
15 年前
在 Ubuntu 上

sudo apt-get install apache2 php5 mysql-client-5.0 mysql-server-5.0 phpmyadmin libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql

然后重启计算机/手动启动 mysql
来自
http://ubuntuforums.org/showthread.php?t=186492
To Top