SCROLL
Среднее время на прочтение: 4 мин.

Установка PHP 7.2 в Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr

Рассмотрим установку PHP 7.2 в Debian 8 Jessie/Ubuntu Server 14.04. Последние версии PHP, имеются в репозитории (PPA) от Ondřej Surý.

[stextbox id=’info’]ИНФОРМАЦИЯ. Ниже описанные действия так же применимы к Debian 9 Stretch[/stextbox]

 

Добавление PPA в Debian 8, 9

apt-get install apt-transport-https software-properties-common lsb-release ca-certificates -y
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt-get update

 

Добавление PPA в Ubuntu 14.04

add-apt-repository ppa:ondrej/php
apt-get update

 

Установка PHP 7.2

Установка базовых пакетов для работы с PHP 7.2:

apt-get install php7.2 php7.2-common php7.2-cli

 

Список всех пакетов для работы с PHP 7.2:

php7.2-bcmath - Bcmath module for PHP
php7.2-bz2 - bzip2 module for PHP
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dba - DBA module for PHP
php7.2-dev - Files for PHP7.2 module development
php7.2-enchant - Enchant module for PHP
php7.2-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd - GD module for PHP
php7.2-gmp - GMP module for PHP
php7.2-imap - IMAP module for PHP
php7.2-interbase - Interbase module for PHP
php7.2-intl - Internationalisation module for PHP
php7.2-json - JSON module for PHP
php7.2-ldap - LDAP module for PHP
php7.2-mbstring - MBSTRING module for PHP
php7.2-mysql - MySQL module for PHP
php7.2-odbc - ODBC module for PHP
php7.2-opcache - Zend OpCache module for PHP
php7.2-pgsql - PostgreSQL module for PHP
php7.2-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.2-pspell - pspell module for PHP
php7.2-readline - readline module for PHP
php7.2-recode - recode module for PHP
php7.2-snmp - SNMP module for PHP
php7.2-soap - SOAP module for PHP
php7.2-sodium - libsodium module for PHP
php7.2-sqlite3 - SQLite3 module for PHP
php7.2-sybase - Sybase module for PHP
php7.2-tidy - tidy module for PHP
php7.2-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-xmlrpc - XMLRPC-EPI module for PHP
php7.2-xsl - XSL module for PHP (dummy)
php7.2-zip - Zip module for PHP

 

Настройка Apache для работы с PHP 7.2

Если Apache установлен с поддержкой prefork MPM, то выполняем установку и включение модуля:

apt-get install libapache2-mod-php7.2
a2enmod php7.2
service apache2 restart

 

Если Apache установлен без поддержки MPM, то выполняем установку и включение модуля:

apt-get install php7.2-fpm
a2enconf php7.2-fpm
service apache2 restart

 

Для проверки работы PHP, в корневой директории веб-сервера apache (/var/www/html) создаем файл info.php который будет содержать функцию отображения информации. Выполняем команду:

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

 

Открываем в браузере страницу http://192.168.1.2/info.php (адрес моей системы) и на экране отобразится информации о настройках веб-сервера и PHP.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

Обсуждение

3 комментариев
  • Что делать если php -v пишет что стоит php7, а функция phpinfo() показывает php5?

    • Это ответ на комментарий Дмитрий

      Вероятно у вас стоит две версии php.. для переключения версий в apache попробуйте так:
      a2dismod php5.6 && a2enmod php7.2 && service apache2 restart
      update-alternatives --set php /usr/bin/php7.2

      • Это ответ на комментарий Жаконда

        # a2dismod php5.6
        perl: warning: Setting locale failed.
        perl: warning: Please check that your locale settings:
        LANGUAGE = «en_US.UTF-8»,
        LC_ALL = «en_US.UTF-8»,
        LC_TYPE = «en_US.UTF-8»,
        LANG = «en_US.UTF-8»
        are supported and installed on your system.
        perl: warning: Falling back to the standard locale («C»).
        ERROR: Module php5.6 does not exist!

        Подозреваю что всё плохо.