Debian 9 поставляется с PHP версии 7.0 и скоро истечет срок службы поддержки и больше не будет получать обновления безопасности.
В этом руководстве мы расскажем, как установить PHP 7.2 на сервер Debian 9. Мы также покажем вам, как настроить Apache и Nginx для запуска PHP.
Содержание
Подготовка
Перед тем, как начать изучение этого руководства, убедитесь, что вы вошли в систему как пользователь с правами sudo .
Установка PHP 7.2 на Debian 9
Следующие шаги описывают, как установить PHP 7.2 с помощью репозитория Ondrej Sury.
- Сначала обновите список пакетов
apt
и установите зависимости, необходимые для добавления нового репозитория через HTTPS:sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
- Начните с импорта ключа 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"
- Теперь, когда в нашей системе включен репозиторий ondrej, мы можем установить PHP, указав версию, которую хотим использовать:
sudo apt update
sudo apt install php7.2-common php7.2-cli
- Проверьте установку, выполнив следующую команду, которая распечатает версию 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
со следующим кодом:
<?php
phpinfo();
Сохраните файл, откройте нужный браузер и перейдите по http://your_server_ip/info.php
Функция phpinfo
распечатает информацию о вашей конфигурации PHP, как показано на изображении ниже:
Выводы
Вы успешно установили PHP на свой сервер Debian 9 и узнали, как настроить веб-сервер для обработки файлов PHP.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Этот пост является частью серии статей о том, как установить LEMP stack на Debian 9. Другие сообщения из этой серии: