雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

如何在 Debian 12 或 Debian 11 上安装 PHP 8.3

2024-07-23 48

PHP 是一种开源服务器端脚本语言,主要用于 Web 应用程序的开发。 PHP 的语法与 C 和 Java 类似,对于具有这些语言经验的开发人员来说更容易学习。 PHP 的构建和成功背后有一个庞大的开发人员社区。您可以使用 PHP 构建自动化脚本、创建个人网站,或采用它来开发大型企业级应用程序。作为开发人员,您可以利用 PHP 对 CSS、HTML 和 JavaScript 等标准的支持,轻松创建交互式动态 Web 应用程序。

今天我们将在 Debian 12 或 Debian 11 机器上进行 PHP 8.3 的安装、配置和基本使用。 PHP 8.3 是 PHP 语言的重大更新。此版本带来了许多新功能。以下是在 Debian 12 或 Debian 11 Linux 系统上安装 PHP 8.3 的一般指南。

在安装 PHP 8.3 之前,最好更新系统的软件包列表。

sudo apt update

1) 添加包含 PHP 8.3 包的 PPA 存储库

默认 Debian 存储库可能不包含最新的 PHP 版本。为此,我们添加了一个 PPA 存储库。安装操作存储库所需的一些依赖项。

sudo apt update
sudo apt install software-properties-common lsb-release apt-transport-https ca-certificates -y

现在,在安装软件包后导入存储库 GPG 密钥。

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg 

接下来运行以下命令以在 Debian 系统上启用 sury PPA 存储库。

sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

确认存储库正常运行。

$ sudo apt update
Hit:1 http://security.debian.org/debian-security bookworm-security InRelease
Hit:2 http://deb.debian.org/debian bookworm InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Hit:4 http://mirror.hetzner.com/debian/packages bookworm InRelease
Get:5 https://packages.sury.org/php bookworm InRelease [7,539 B]
Hit:6 http://mirror.hetzner.com/debian/packages bookworm-updates InRelease
Hit:7 http://mirror.hetzner.com/debian/security bookworm-security InRelease
Get:8 https://packages.sury.org/php bookworm/main amd64 Packages [221 kB]
Fetched 228 kB in 1s (208 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done

您可以列出可用的 PHP 版本。

$ sudo apt list -a php
Listing... Done
php/bookworm 2:8.3+94+0~20240205.51+debian12~1.gbp6faa2e all
php/stable,stable 2:8.2+93 all

2. 在 Debian 12 或 Debian 11 上安装 PHP 8.3

更新操作系统软件包列表后,可以通过执行下面给出的命令来安装 PHP 8.3。

sudo apt install php8.3

按键盘上的 y 键继续安装。

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  apache2-bin debsuryorg-archive-keyring libapache2-mod-php8.3 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libgdbm-compat4 liblua5.3-0 libperl5.36 libsodium23 perl
  perl-modules-5.36 php-common php8.3-cli php8.3-common php8.3-opcache php8.3-readline psmisc
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser php-pear perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl
Recommended packages:
  apache2
The following NEW packages will be installed:
  apache2-bin debsuryorg-archive-keyring libapache2-mod-php8.3 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libgdbm-compat4 liblua5.3-0 libperl5.36 libsodium23 perl
  perl-modules-5.36 php-common php8.3 php8.3-cli php8.3-common php8.3-opcache php8.3-readline psmisc
0 upgraded, 20 newly installed, 0 to remove and 5 not upgraded.
Need to get 14.0 MB of archives.
After this operation, 78.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

安装完成后,通过检查版本来验证是否安装正确。

$ php -v
php --version
PHP 8.3.2-1+0~20240120.16+debian12~1.gbpb43448 (cli) (built: Jan 20 2024 14:14:39) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.2-1+0~20240120.16+debian12~1.gbpb43448, Copyright (c), by Zend Technologies

3.安装PHP 8.3扩展

PHP 扩展是旨在为 PHP 编程语言提供额外功能的库。确定您需要的扩展,并使用 apt 安装它们。命令语法为:

sudo apt install php8.3-<extension>
  • 替换为要安装的 PHP 扩展的名称。

安装 cli,zip,mysql,bz2,curl,mbstring,intl,commonPHP 扩展的示例。

sudo apt install php8.3-{cli,zip,bz2,mysql,curl,mbstring,intl,common}

4. 将 PHP 与 Apache 或 Nginx Web 服务器结合使用

其他 Web 服务器也可用,但我们仅演示 PHP 与 Nginx 和 Apache Web 服务器的用法。

1) 将 PHP 8.3 与 Apache 结合使用

在 Apache 中,PHP 代码将使用 Apache 中内置的 mod_php 模块执行。只需安装 Apache Web 服务器及其 php 模块即可。

sudo apt install apache2 libapache2-mod-php8.3

请记住启用将处理 PHP 代码的 mod_php 模块:

sudo a2enmod php8.3

最后重启apache2

sudo systemctl restart apache2

2) 将 PHP 8.3 与 Nginx 结合使用

您需要与 nginx 一起安装 PHP-FPM(FastCGI 进程管理器)。

sudo apt install nginx php8.3-fpm

更新 Nginx 配置,以便它使用 FastCGI 协议将传入请求转发到 PHP-FPM。

$ sudo vim /etc/nginx/nginx.conf
server {
    listen 80;
    server_name mysite.example.com;
    root /var/www/mysite;
    index index.php index.html;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}

验证 nginx 语法。

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重新启动 nginx 网络服务器。

sudo systemctl restart nginx

有关网络开发的书籍:

  • 学习 Web 开发的最佳书籍 - PHP、HTML、CSS、JavaScript 和 jQuery
  • 掌握网页设计的最佳书籍
  • 学习 CSS 和 CSS3 的最佳书籍
  • 学习 HTML 和 HTML5 的最佳书籍
  • 最佳 Apache 和 Nginx 参考书

更新于:1个月前
赞一波!

文章评论

全部评论