Установка разных версий PHP

Thank you for reading this post, don't forget to subscribe!

Установка PHP

В зави­си­мо­сти от необ­хо­ди­мой вер­сии PHP и вер­сии Ubuntu, под­ход к уста­нов­ке может отличаться.

Установка базовой версии

Это самый про­стой спо­соб. Каж­дая вер­сия Ubuntu в сво­ем репо­зи­то­рии содер­жит соот­вет­ству­ю­щую вер­сию PHP.

Уста­нов­ка выпол­ня­ет­ся одной командой:

apt install php

Установка определенной версии

Если нам необ­хо­ди­ма вер­сия PHP, кото­рой нет в репо­зи­то­рии, выпол­ня­ем уста­нов­ку допол­ни­тель­но­го — для это­го вво­дим две команды:

apt install software-properties-common

add-apt-repository ppa:ondrej/php

Теперь мож­но уста­но­вить нуж­ную вер­сию интерпретатора:

apt-get install php7.4

apt-get install php8.0

* в дан­ном при­ме­ре 7.4 и 8.

Выбор версии PHP по умолчанию

Посмот­реть теку­щую вер­сию php, кото­рая рабо­та­ет по умол­ча­нию мож­но командой:

php -v

Сме­нить вер­сию по умолчанию:

update-alternatives --config php

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.0   80        auto mode
1            /usr/bin/php7.4   74        manual mode
2            /usr/bin/php8.0   80        manual mode

* в дан­ном при­ме­ре исполь­зу­ет­ся вер­сия php8 как вер­сия по умолчанию

Для сме­ны, систе­ма пред­ло­жит нам выбрать вер­сию из списка:

Press <enter> to keep the current choice[*], or type selection number: 1

* так мы пере­клю­чим­ся на php7.4.

Установка расширений

Рас­ши­ре­ния уста­нав­ли­ва­ют­ся с синтаксисом:

apt install php<версия>-<расширение>

Для вер­сии, кото­рая идет по умол­ча­нию в репо­зи­то­рии, уста­нов­ку мож­но выпол­нить так:

apt install php-mysqli

В осталь­ных слу­ча­ях обя­за­тель­но ука­зы­ва­ем версию:

apt install php7.4-mysqli

Настройка PHP

В Ubuntu настрой­ки PHP нахо­дят­ся в раз­ных фай­лах — для каж­дой вер­сии и для каж­дой систе­мы, кото­рая обра­ба­ты­ва­ет запросы.

Напри­мер, для php вер­сии 8.0, кото­рая будет запус­кать­ся из команд­ной стро­ки, файл будет:

vi /etc/php/8.0/cli/php.ini

для apache:

vi /etc/php/8.0/apache2/php.ini

для fpm:

vi /etc/php/8.0/fpm/php.ini