本期将完成Debian 11安装PHP 8.2并将其与Nginx集成。在撰写本文时,默认的Debian 11存储库包含PHP 7.4版本。
我们将从sury/php的PPA存储库中安装PHP。sury维护着一个包含多个PHP版本的存储库。请运行下面的命令安装PHP 8.2。

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.2-fpm -y

安装 PHP扩展

PHP扩展是已编译的动态库,它扩展了PHP的核心功能。PHP扩展程序作为软件包提供,可以通过apt安装PHP扩展。
按照惯例PHP扩展的通常是以php开头,接着是版本号,然后是-和扩展名称。这是通用的格式php[version]-[extname]
例如,要安装MySQL扩展,您可以运行命令sudo apt install php8.2-mysql

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

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

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

sudo apt install php8.2-mysql -y
sudo systemctl restart php8.2-fpm.service
sudo systemctl status php8.2-fpm

配置 Nginx PHP

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

至此你已经安装PHP和Nginx。现在使用你的喜欢的文本编辑器创建Nginx虚拟主机配置文件/etc/nginx/sites-enabled/example.conf。
并将一下内容复制粘贴到example.conf中:

server {

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

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

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

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

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

最后修改:2023 年 10 月 21 日
如果觉得我的文章对你有用,请随意赞赏