如何在Debian 9上安装PHP

时间:2020-03-05 15:31:20  来源:igfitidea点击:

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

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

准备工作

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

在Debian 9上安装PHP 7.2

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

  • 首先,更新“ apt”软件包列表并安装必要的依赖关系,以通过HTTPS添加新存储库:
sudo apt updatesudo 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"
  • 现在,我们已经在系统上启用了ondrej的存储库,我们可以通过指定要使用的版本来安装PHP:
sudo apt updatesudo apt install php7.2-common php7.2-cli
  • 通过运行以下命令来验证安装,该命令将打印PHP版本。
php -v
PHP 7.2.8-1+0~20160725124257.2+stretch~1.gbp571e56 (cli) (built: May 25 2016 12:43:00) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.2.8-1+0~20160725124257.2+stretch~1.gbp571e56, Copyright (c) 1999-2016, 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 2016-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处理,请使用以下代码在'/var/www/html'目录中创建一个名为info.php的新文件:

/var/www/html/info.php

<?php
phpinfo();

保存文件,打开我们选择的浏览器,然后访问“ http://your_server_ip/info.php”

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