Как установить PHP на Debian 9

Debian 9 поставляется с PHP версии 7.0 и скоро истечет срок службы поддержки и больше не будет получать обновления безопасности.

В этом руководстве мы расскажем, как установить PHP 7.2 на сервер Debian 9. Мы также покажем вам, как настроить Apache и Nginx для запуска PHP.

Подготовка

Перед тем, как начать изучение этого руководства, убедитесь, что вы вошли в систему как пользователь с правами sudo .

Установка PHP 7.2 на Debian 9

Следующие шаги описывают, как установить PHP 7.2 с помощью репозитория Ondrej Sury.

  1. Сначала обновите список пакетов apt и установите зависимости, необходимые для добавления нового репозитория через HTTPS:
    sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common
  2. Начните с импорта ключа GPG репозитория, используя следующую команду curl :
    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 update sudo 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 в качестве веб-сервера для установки PHP и модуля Apache PHP, выполните следующую команду:

sudo apt install php7.2 libapache2-mod-php

После установки пакетов для включения модуля php7.2 просто перезапустите службу Apache:

sudo systemctl restart apache2

Настройка Nginx для запуска PHP

В отличие от Apache, Nginx не имеет встроенной поддержки обработки файлов PHP, поэтому нам нужно установить отдельное приложение, такое как PHP FPM («менеджер процессов fastCGI»), которое будет обрабатывать файлы PHP.

Чтобы установить пакеты 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

Чтобы проверить, правильно ли настроен ваш веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html со следующим кодом:

/var/www/html/info.php
<?php

phpinfo();

Сохраните файл, откройте нужный браузер и перейдите по http://your_server_ip/info.php

Функция phpinfo распечатает информацию о вашей конфигурации PHP, как показано на изображении ниже:

Выводы

Вы успешно установили PHP на свой сервер Debian 9 и узнали, как настроить веб-сервер для обработки файлов PHP.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Оставьте комментарий