Установка 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.
Понравилась или оказалась полезной статья, поблагодари автора
Что делать если 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!
Подозреваю что всё плохо.