Какие осветим вопросы:
- как проверить наличие установленной версии PHP
- как узнать список модулей и расширений PHP
- как узнать версию PHP
- как устанавливить другую версию PHP
Окружение:
- сервер Linux Debian 9, Linux Debian 10, Linux Ubuntu 18, Linux Ubuntu 20
PHP (Personal Home Page Tools) один из самых популярных языков для разработки динамических веб-сайтов. Несмотря на солидный возраст (PHP создан в далеком 1995 году), он продолжает активно развиваться и поддерживается подавляющим большинством провайдеров.
На сервере можно установить несколько версий PHP и переключаться между ними. В данной статье мы рассмотрим шаги по установке версии PHP 7.4
Проверим какие версии PHP установлены на сервере
Следующая команда выведет состав установленных версий PHP:
dpkg -l | grep php | tee packages.txt
Результат может быть следующий:
<div>asdfs</div>
ii php-common 1:49 all Common files for PHP packages
ii php-igbinary 2.0.1-1 amd64 igbinary PHP serializer
ii php-redis 3.1.1-1 amd64 PHP extension for interfacing with Redis
ii php7.0-cli 7.0.33-0+deb9u7 amd64 command-line interpreter for the PHP scripting language
ii php7.0-common 7.0.33-0+deb9u7 amd64 documentation, examples and common module for PHP
ii php7.0-curl 7.0.33-0+deb9u7 amd64 CURL module for PHP
ii php7.0-fpm 7.0.33-0+deb9u7 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary)
ii php7.0-gd 7.0.33-0+deb9u7 amd64 GD module for PHP
ii php7.0-json 7.0.33-0+deb9u7 amd64 JSON module for PHP
ii php7.0-ldap 7.0.33-0+deb9u7 amd64 LDAP module for PHP
ii php7.0-mbstring 7.0.33-0+deb9u7 amd64 MBSTRING module for PHP
ii php7.0-opcache 7.0.33-0+deb9u7 amd64 Zend OpCache module for PHP
ii php7.0-pgsql 7.0.33-0+deb9u7 amd64 PostgreSQL module for PHP
ii php7.0-readline 7.0.33-0+deb9u7 amd64 readline module for PHP
ii php7.0-xml 7.0.33-0+deb9u7 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP
ii php7.0-zip 7.0.33-0+deb9u7 amd64 Zip module for PHP
ii spotk-cfg-php 1:1.12.110.0-54791926 all Communications Platform Core
таким образом видим, что в системе установлена версия PHP 7.0 и ряд модулей.
Подключение пакетного репозитория PHP
Импортируем ключ репозитория:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Добавляем файл с данными репозитория PHP:
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Обновляем список репозиториев:
apt update
Останавливаем и отключаем из автозагрузки текущую версию PHP
systemctl stop php7.0-fpm.service
systemctl disable php7.0-fpm.service
Установка версии PHP 7.4
apt install php7.4
apt-get install php7.4-{cli,common,curl,fpm,gd,json,ldap,mbstring,opcache,pgsql,readline,stomp,xml,zip}
apt-get install php7.4-redis
apt-get install php7.4-pear php7.4-dev
Проверяем установленную версию:
php -v