首页 程序笔记 如何在 Debian 12 或 Debian 11 上安装 PHP 8.3

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

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

站心网

PHP 是一种开源服务器端脚本语言,主要用于 Web 应用程序的开发。 PHP 的语法与 C 和 Java 类似,对于具有..

为您推荐

ASP.NET如何将Views文件夹从项目分离

将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..

如何让AI写出Google认可的文章?

让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

如何从.NET Framework迁移到.NET Core或.NET 6/7?

从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..

如何优化ASP.NET Core应用的性能?

优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..

sourcetree安装跳过注册方法

SourceTree下载提取码: ni9m 需翻墙或者破解注册当前只有Win的版本,Mac自行百度很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者..

chrome 开发者工具如何查看元素:hover时的样式

在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

Angular UT 模拟执行setTimeout

在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..

JavaScript 的 sessionStorage 能否加锁?

直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..

Redis 同步、击穿、穿透及雪崩简述

对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..

Vue 3.5引入新特性 还有与SSR相关的改进

Vue 3.5引入了响应式属性解构、useTemplateRef方法、useId实用函数、内部响应性重构等新特性。以下是具体介绍:响应式属性解构此功能允许开发者在defineProps宏中解构属性而不会失去响应性,这为组件间的属性传递提..

发表回复

返回顶部