如何使用Nginx和Apache在Debian 9/10上安装PHP 7.1 / 7.2 / 7.3

PHP是一种流行的通用脚本语言,特别适合于Web开发。本文将向您展示如何在Debian 9/10上安装PHP(7.1 / 7.2 / 7.3)以及如何配置Nginx和Apache以运行PHP。

大多数流行的PHP框架和应用程序(包括WordPress,Laravel,Drupal和Nextcloud)都与PHP 7兼容。

在本文中,我们将以PHP 7.2为例。

先决条件

  • 确保您以具有sudo特权的用户身份登录。
  • 确保您可以连接到互联网。

在Debian 9/10上安装PHP 7.3 / 7.2 / 7.1

步骤1.添加PHP 7.x Ondrej Sury存储库

我们将使用Ondrej Sury存储库,该存储库提供包括PHP在内的各种软件包的较新版本。

更新 apt 软件包列表并安装必要的依赖关系,以通过https添加新存储库:

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

首先使用以下curl命令导入存储库的GPG密钥:

curl -fsSL https://packages.sury.org/php/apt.gpg | sudo apt-key add -

通过键入以下命令,将ondrej的存储库添加到系统的软件存储库列表中:

sudo add-apt-repository "deb https://packages.sury.org/php/ $(lsb_release -cs) main"

第2步。安装PHP 7.x

现在我们在系统上启用了ondrej的存储库,我们可以通过指定要使用的版本来安装PHP:

在Debian 9/10上安装php 7.1

sudo apt update
#php 7.1
sudo apt install php7.1-common php7.1-cli

在Debian 9/10上安装php 7.2

#php 7.2
sudo apt update
sudo apt install php7.2-common php7.2-cli

在Debian 9/10上安装php 7.3

#php 7.3
sudo apt update
sudo apt install php7.3-common php7.3-cli

步骤3.验证PHP安装

通过运行以下命令来验证安装,该命令将打印PHP版本。

php -v

输出看起来像下面这样:

PHP 7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56 (cli) (built: Aug 25 2019 12:43:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56, Copyright (c) 1999-2018, by Zend Technologies

至此,php的安装完成。

步骤4.使用Apache和Nginx配置PHP 7.x

配置PHP 7.x以与Apache一起使用

如果您使用Apache作为Web服务器来安装PHP和Apache PHP模块,请运行以下命令:

#php 7.1
sudo apt install php7.1 libapache2-mod-php
#php 7.2
sudo apt install php7.2 libapache2-mod-php
#php 7.3
sudo apt install php7.3 libapache2-mod-php

安装软件包以启用php7.x模块后,只需重新启动Apache服务即可:

sudo systemctl restart apache2

配置PHP 7.x以与Nginx一起使用

Nginx不具有处理PHP文件的内置支持,因此我们需要安装一个单独的应用程序(如PHP FPM)来处理PHP文件。

要安装PHP FPM软件包,请运行以下命令:

#php 7.1
sudo apt install php7.1-fpm
#php 7.2
sudo apt install php7.2-fpm
#php 7.3
sudo apt install php7.2-fpm

安装软件包后,PHP FPM服务将自动启动。 您可以使用以下方法检查服务状态:

systemctl status php7.2-fpm

输出看起来像下面这样:

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Aug 2019-08-30 21:06:53 UTC; 1min 4s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 16791 (php-fpm7.2)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php7.2-fpm.service
           ├─16791 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
           ├─16792 php-fpm: pool www
           └─16793 php-fpm: pool www

现在,您可以编辑域Nginx服务器块并添加以下行,以便Nginx可以处理PHP文件:

server {

    # . . . other code

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

重新启动Nginx服务,以使新配置生效:

sudo systemctl restart nginx

步骤5.安装PHP扩展

我们可以通过安装其他扩展来扩展PHP的核心功能。 PHP扩展可以作为软件包提供,并且可以通过以下方式轻松安装:

sudo apt install php-[extname]

例如,如果要安装MySQL和GD PHP扩展,则应运行以下命令:

sudo apt install php7.2-mysql php7.2-gd

安装新的PHP扩展后,请不要忘记重新启动Apache或PHP FPM服务,具体取决于您的设置。

步骤6:测试PHP处理

要测试您的Web服务器是否已正确配置以进行PHP处理,请在以下位置创建一个名为info.php的新文件: /var/www/html 具有以下代码的目录:

<?php
phpinfo();

保存文件,打开您选择的浏览器并访问 http://your_server_ip/info.php

phpinfo 函数将打印有关您的PHP配置的信息,如下图所示:

结论

您已在Debian 9/10服务器上成功安装了PHP 7.x,并学习了如何配置Web服务器以处理PHP文件。

如果您有任何问题或反馈,请随时发表评论。

Sidebar