如何在Debian 9上安装PHP

PHP版本7.0随附的Debian 9即将终止支持,并且不再收到安全更新。

在本教程中,我们将引导您完成在Debian 9服务器上安装PHP 7.2的步骤。 我们还将向您展示如何配置Apache和Nginx以运行PHP。

先决条件

在开始本教程之前,请确保您以具有sudo特权的用户身份登录。

在Debian 9上安装PHP 7.2#

以下步骤描述了如何使用Ondrej Sury存储库安装PHP 7.2。

  1. 首先,更新 apt 软件包列表,并安装通过HTTPS添加新存储库所需的依赖项:

    sudo apt updatesudo apt install apt-transport-https ca-certificates curl software-properties-common
  2. 首先使用以下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"
  3. 现在我们在系统上启用了ondrej的存储库,我们可以通过指定要使用的版本来安装PHP:

    sudo apt updatesudo apt install php7.2-common php7.2-cli
  4. 通过运行以下命令来验证安装,该命令将打印PHP版本。

    php -v
    PHP 7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56 (cli) (built: Jul 25 2018 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

配置Apache以运行PHP#

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

sudo apt install php7.2 libapache2-mod-php

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

sudo systemctl restart apache2

配置Nginx以运行PHP#

与Apache不同,Nginx没有内置的处理PHP文件的支持,因此我们需要安装一个单独的应用程序,例如处理PHP文件的PHP FPM(“ fastCGI进程管理器”)。

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

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 Thu 2018-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

安装PHP扩展#

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

sudo apt install php-[extname]

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

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

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

测试PHP处理

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

/var/www/html/info.php

<?php

phpinfo();

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

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

结论#

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

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

PHP的Debian

这篇文章是how-to-install-lemp-stack-on-debian-9系列文章的一部分。本系列的其他文章:

•如何在Debian 9上安装Nginx,2018年8月27日•如何在Debian 9上安装PHP,2018年8月30日•如何在Debian 9上设置Nginx服务器块2018年10月4日•在Debian 9上,让我们加密来保护Nginx 2019年1月30日

Sidebar