如何在Debian 11安装PHP 8.0

2023年 7月 20日 24.4k 0

PHP是使用最广泛的服务器端编程语言之一。有许多流行的CMS和框架,例如WordPress,Magento和Laravel都是用PHP编写的。

PHP 8.0是PHP语言的最新主要版本。它引入了一些重大更改,性能改进以及许多新功能,例如命名参数,JIT编译器,联合类型,匹配表达式等。

时至今天,主流的HTTP服务器已不是Apache,我们推荐使用Nginx作为HTTP服务器,Nginx相对于Apache来说简单且性能更好。

本教程将向您展示如何在Debian 11安装PHP 8.0并将其与Nginx集成。在撰写本文时,默认的Debian 11存储库包含PHP 7.4版本。

我们将从sury/php的PPA存储库中安装PHP。升级或安装PHP 8.0之前,请确保您的应用程序支持它。

sury维护着一个包含多个PHP版本的存储库。请运行下面的命令安装PHP 8.0。

终端将会提示你是否继续的消息,Press [ENTER] to continue or Ctrl-c to cancel adding it.。按Enter键回车即可。

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

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

wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

sudo apt-get update -y
sudo apt-get install php8.0-fpm -y

安装 PHP扩展

PHP扩展是已编译的动态库,它扩展了PHP的核心功能。PHP扩展程序作为软件包提供,可以通过apt安装PHP扩展。

按照惯例PHP扩展的通常是以php开头,接着是版本号,然后是-和扩展名称。这是通用的格式php[version]-[extname]

例如,要安装MySQL和GD扩展,您可以运行命令sudo apt install php8.0-mysql php8.0-gd

并不是所有php扩展都可以通过apt命令进行安装,Apt仓库仅提供常用PHP扩展,某些扩展可能需要自己手动编译。

在安装PHP扩展之后,请不要忘记重启Apache或PHP-FPM服务,否则新的PHP扩展不会加载到PHP-FPM。运行命令sudo systemctl restart php8.0-fpm

最后运行命令sudo systemctl status php8.0-fpm打印PHP-FPM服务的状态信息,验证是否成功重启PHP-FPM。

sudo apt install php8.0-mysql php8.0-gd
sudo systemctl restart php8.0-fpm.service

安装 Nginx

Debian 11 安装Nginx

配置 Nginx PHP

Nginx不支持直接运行PHP文件。我们将使用PHP-FPM FastCGI进程管理器来运行PHP文件。

至此你已经安装PHP和Nginx。现在使用你的喜欢的文本编辑器创建Nginx虚拟主机配置文件/etc/nginx/sites-enabled/example.conf。

在本教程中我们将使用vim编辑器打开文件/etc/nginx/sites-enabled/example.conf

复制粘帖nginx虚拟主机配置到/etc/nginx/sites-enabled/example.conf文件中, 使Nginx可以运行PHP文件。

sudo vim /etc/nginx/sites-enabled/example.conf
server {

    server_name example.com;
    root /var/www/html/;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
}
/etc/nginx/sites-enabled/example.conf

保存文件并退出vim。创建Nginx虚拟主机配置后,你应该在每次修改Nginx配置文件运行nginx -t命令测试Nginx配置的语法是否正确。

如果没有错误nginx将会提示你nginx: configuration file /etc/nginx/nginx.conf test is successful

当测试Nginx配置正确之后,不要忘记运行systemctl命令重新启动Nginx服务,运行命令sudo systemctl restart nginx使nginx配置文件生效。

为了能够正确解释域名example.com。因此我们还需要映射example.com到本地回环地址127.0.0.1

sudo nginx -t
sudo systemctl restart nginx
echo "127.0.0.1 example.com" | sudo tee -a /etc/hosts

phpinfo 页面

要测试是否已正确配置Web服务器运行PHP,请在/var/www/html目录中创建一个名为info.php的新文件。然后保存文件并退出vim。

保存文件后,我们还需要使用chmod命令让info.php具有可执行权限。运行命令sudo chmod +x /var/www/html/info.php

Nginx必须对站点的根目录有读取权限,对于可执行文件,例如php。nginx必须对其有可执行权限,否则nginx返回500内部服务器的错误。

sudo vim /var/www/html/info.php
sudo chmod +x /var/www/html/info.php
<?php
phpinfo();
/var/www/html/info.php

打开你的浏览器,然后访问http://example.com/info.php。您将看到您的PHP配置的信息。

Debian 11 安装MariaDB
Debian 11 安装MySQL
Debian 11 配置Nginx虚拟主机

结论

在Debian 11安装PHP是一项简单的任务。 您需要做的就是用apt安装软件包。如果您有任何疑问或反馈,请随时发表评论。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论