codecamp

PHP8 Debian GNU/Linux 安装说明

本节包含了在 » Debian GNU/Linux 下安装 PHP 的说明和提示。

警告
这里不支持非官方的第三方发行包。任何错误应报告给 Debian 开发组,除非该错误在使用从官方» 下载的最新版时仍能重现。

尽管在 Unix 下编译 PHP 的指示也适用于 Debian,本节包含有一些特定信息,例如使用 apt 或者 aptitude 命令。本节中这两条命令可以互换。

使用 APT

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

其次,在安装一个包之前,最好先确定该包是最新版。通常可以运行命令 apt update

示例 #1 Debian 下将 PHP 安装入 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。决定好要安装哪些之后可以用 apt 或者 aptitude 来安装。Debian 会进行倚赖性检查,会给出提示,例如安装 MySQL 和 cURL:

示例 #4 安装 PHPMySQLcURL 支持

# 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 变种)下有两个基本命令来安装包:apt 和 aptitude。不过要解释这两个命令的细微区别已超出本手册范围。


PHP8 针对 Solaris 的安装提示
PHP8 使用软件包
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }