Как выбрать версию php
Перейти к содержимому

Как выбрать версию php

  • автор:

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

Обновлено

Обновлено: 03.04.2023 Опубликовано: 06.11.2021

В Ubuntu можно легко управлять несколькими версиями PHP. Мы рассмотрим процесс установки разных версий PHP и жонглирования ими.

Установка PHP

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

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

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

Посмотреть, какая версия будет установлена из репозитория системы можно командой:

apt search —names-only ‘^php[.0-9]$’

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

apt install php

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

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

apt install software-properties-common

.
FileNotFoundError: [Errno 2] No such file or directory: ‘gpg’

Устанавливаем gnupg-agent:

apt install gnupg-agent

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

apt-get install php7.4

apt-get install php8.0

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

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

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

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

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 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, которая будет запускаться из командной строки, файл будет:

php переключение версий

После обновления до Ubuntu 16.04 из коробки установлен php7. Для моих проектов использую php5.6. Подскажите, как управлять версиями, и использовать php5.6 по умолчанию?

$ php -v PHP 7.0.6-1+donate.sury.org~xenial+1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies $ whereis php php: /usr/bin/php /usr/bin/php7.0 /usr/bin/php5.6 /usr/lib/php /etc/php /usr/share/php7.0-opcache /usr/share/php7.0-gd /usr/share/php /usr/share/php5.6-opcache /usr/share/php7.0-mcrypt /usr/share/php7.0-json /usr/share/php7.0-common /usr/share/php7.0-readline /usr/share/php5.6-json /usr/share/php7.0-xml /usr/share/php7.0-mysql /usr/share/php5.6-common /usr/share/php5.6-readline /usr/share/man/man1/php.1.gz 

Отслеживать

67.9k 216 216 золотых знаков 77 77 серебряных знаков 219 219 бронзовых знаков

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

В настоящее время на хостинге RU-CENTER доступны версии интерпретатора PHP 5.2 — 5.6, 7.0 — 7.4, 8.0 — 8.2.

Прежде чем приступить к настройке модуля PHP, необходимо узнать у разработчиков скриптов сайта или в документации к CMS технические требования к серверу хостинга и настройкам PHP в частности. Примеры настройки хостинга RU-CENTER под некоторые популярные CMS опубликованы в разделе CMS.

1. Выбор версии модуля PHP

Управление модулем PHP производится в разделе Управление веб-сервером → Управление модулем PHP панели управления хостингом.

Доступные для подключения версии модуля PHP представлены в разделе Управление веб-сервером → Управление модулем PHP. Для того чтобы подключить подходящую под требования вашего сайта версию, необходимо выбрать её из выпадающего списка и нажать кнопку Применить. После подключения нужной версии модуля PHP вы можете перейти к его настройке.

Версия PHP по умолчанию выбирается для всех сайтов, размещенных на данной услуге хостинга. Исключение составляют сайты, для которых была включена отдельная версия PHP с помощью услуги «Мультисайт».

2. Управление расширениями модуля PHP и его параметрами

Под выбором версий PHP по умолчанию располагается модуль с выбором настраиваемой версии PHP и список подключенных расширений.

Чтобы подключить расширение:

  • в блоке Расширения нажмите на ссылку Управление расширениями,
  • найдите в открывшемся списке нужное расширение, пометьте его галочкой и сохраните изменения.

3. Получение подробной информации о настройках PHP

В панели управления показаны только отключаемые расширения. Получить полный список расширений и параметров вы можете с помощью функции phpinfo():

  • создайте в каталоге docs вашего сайта файл info.php со следующим содержимым: phpinfo();
    ?>
  • обратитесь к данному скрипту по адресу http://ваш_домен/info.php — так вы получите подробную информацию о модуле PHP.

Описание параметров php.ini доступно в официальной документации на сайте http://php.net.

4. «Мультисайт» и функция MultiPHP

«Мультисайт» — комплексная опция, в рамках которой услуга получает дополнительные мощности:

MultiPHP — это функционал расширенного управления настройками PHP, позволяющего выбрать для каждого сайта свою версию PHP.

Изменить версию для сайта можно в разделе Сайты → domain.ru → Настройки → Версия PHP.

Выбранная версия не изменится, пока в данном разделе не выбрать другую, или по умолчанию, даже в случае отказа от опции «Мультисайт».

Подключить опцию можно в разделе Смена тарифа вашей услуги. Подробнее в инструкции «Как изменить тариф хостинга».

Архивные тарифы виртуального хостинга (заказанные до 03.12.2020) имеют встроенный функционал MultiPHP и позволяют размещать несколько сайтов. В связи с чем опция «МультиСайт» для них недоступна.

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

Почти 80% всех существующих сайтов, по данным W3Techs, работают на базе языка программирования PHP. Значительную их часть составляют сайты, созданные с помощью WordPress и других популярных CMS. Однако, несмотря на такую распространнёность, не все владельцы сайтов знают о необходимости переходить с устаревших версий PHP на более актуальные. Что отражается на качестве работы сайтов.

Кратко о версиях PHP

Какие версии PHP считаются актуальными, а какие — устаревшими? Чтобы разобраться в этом, рассмотрим этапы жизненного цикла версий этого языка:

  1. Релиз. Выпускается новая версия PHP, которая прошла все этапы предварительного тестирования и подходит для использования в «боевых условиях».
  2. Активная поддержка. В течение двух лет после релиза версия продолжает совершенствоваться. Выходят регулярные обновления, вносятся корректировки и исправляются баги. Обеспечивается полная безопасность версии.
  3. Минимальная поддержка. Ровно через два года после релиза работа по развитию версии прекращается. В течение следующего года происходят только критические обновления, касающиеся серьёзных угроз безопасности.
  4. Завершение жизненного цикла. Через год критических обновлений защиты версия перестаёт поддерживаться полностью. Однако ей можно продолжать пользоваться, но уже на свой страх и риск.

На момент публикации этого материала продолжают поддерживаться три версии PHP:

  • 7.4 (дата релиза — 28 ноября 2019 года, самая актуальная версия);
  • 7.3 (дата релиза — 6 декабря 2018 года, активная поддержка подходит к концу);
  • 7.2 (дата релиза — 30 ноября 2017, активно не поддерживается, важные обновления безопасности скоро перестанут выходить).

Версии 7.1, 7.0 и все версии PHP 5 больше не обновляются. А уже в конце 2020 года самой актуальной станет версия 8.0.

А что насчёт PHP 6? Если вы не знаете, почему шестые версии здесь не упоминаются, то сейчас поясним.

PHP 6: строили, строили, но не построили

На разработку версии 6.0 было потрачено немало времени. Предполагалось, что самым важным нововведением в ней станет поддержка символов Юникода, благодаря которой возможности языка были бы расширены. Однако разработчики PHP 6 столкнулись со множеством трудностей, что вынудило их постепенно отказаться сначала от внедрения Юникода, а затем и вообще от запуска версии 6.0.

Пока шла работа над PHP 6, на эту тему было выпущено немало статей и книг. И представление о PHP 6 как о версиях языка с внедрённым Юникодом уже успело устояться в IT-сообществе. Поэтому новому поколению языка, пришедшему на смену PHP 5, было решено присвоить номер 7.

PHP 7: обновление, которое ждали больше 10 лет

Первая версия PHP 7 была представлена ещё в конце 2015 года, но до сих пор почти половина сайтов в мире, по информации WTechs, не перешли на PHP 7 и остаются на PHP 5. Каких возможностей лишены те, кто всё ещё не обновился?

Версия 7.0 основывалась на новой технологии phpng — PHP Next Generation, «Следующее поколение PHP». Она создавалась с целью увеличить производительность языка без снижения совместимости. В реальной практике PHP 7 оказался примерно в 2 раза быстрее PHP 5, а разница в производительности на синтетическом тесте bench.php составила вовсе 14 раз.

С заботой о пользователях мобильных гаджетов разработчики также поработали над исполнением движка и уменьшили потребление памяти при работе PHP. Также с помощью Abstract syntax tree (AST) операционный код стал более производительным. И в целом код на PHP 7 стал чище, понятнее и удобнее.

Помимо внедрения нововведений, в версии 7.0 изменили или вовсе убрали устаревшую и ненужную функциональность. С одной стороны, это несколько нарушило совместимость языка с ранее созданным и необновлённым ПО. Но с другой, принятые меры позволили сделать настоящий прорыв в развитии PHP.

PHP 8: взгляд в будущее

Версия 8.0 активно разрабатывается в данный момент, но о ней уже кое-что известно. Планируется, что в новейших версиях PHP будет генерироваться меньше кода. Для этого будет использоваться технология JIT (Just in Time). С её помощью при выполнении приложения весь код будет не компилироваться заново, а частично заимствоваться из уже скомпилированных версий.

Компиляции станет меньше и благодаря технологии FFI (Foreign Function Interface), которая упрощает вызов функций, написанных на разных компилируемых языках программирования. Благодаря JIT и FFI производительность PHP 8 должна ощутимо повыситься по сравнению с PHP 7.

Релиз первой альфа-версии 8.0 намечен на лето этого года. Затем традиционно будут представлены несколько альфа- и бета-версий, а также релизов-кандидатов, после чего 3 декабря 2020 года ожидается выпуск финального варианта.

Кратко об обновлении PHP

Какую версию PHP лучше всего использовать? Конечно же, самую актуальную на данный момент. Тогда вы всегда будете получать:

  • потенциал для роста производительности сайта;
  • надёжную защиту от вредоносных атак, использующих уязвимости в PHP;
  • самый широких выбор ПО и плагинов, совместимых с сайтом.

О работе с PHP на VPS мы пока говорить не будем, так как для этого нужен отдельный материал. Поэтому дальше мы дадим рекомендации пользователям виртуального и специализированного хостинга.

Узнайте, какая версия PHP используется на вашем сайте. Эта информация доступна в настройках веб-сервера: например, на хостинге «Джино» они расположены здесь). Владельцы сайтов на WordPress могут увидеть текущую версию PHP в панели администратора, в разделе Инструменты / Здоровье сайта / Информация. Также вы можете написать этот скрипт, разместить его в файлах сайта и обратиться к нему из браузера:

В результате будет показана информация о версии.

Если ваша текущая версия PHP не входит в число поддерживаемых, взвесьте все «за» и «против» перед обновлением. Ведь чем старее скрипты вашего сайта, тем сложнее может быть перейти на поддерживаемую версию PHP. Тем, кто готов обновиться, нужно сделать следующее:

  1. Убедитесь, что у вас сохранена свежая резервная копия файлов сайта.
  2. Проверьте совместимость используемого ПО, фреймворков, библиотек, плагинов с выбранной вами версией PHP. Если что-то из этого не совместимо с ней, убирайте и заменяйте на более современные аналоги.
  3. Измените версию PHP на хостинге, через настройки сервера в контрольной панели или через запрос в техподдержку.
  4. После обновления протестируйте все функции сайта, при тестировании проверяйте лог на предмет «Fatal error» и других ошибок, которых раньше не было. Если все функции работают, а на страницах сайта появляются предупреждения PHP — отключите отображение ошибок.
  5. Если после обновления возникли серьёзные нарушения в работе сайта, верните старую версию PHP. Разберитесь в проблемах сами или обратитесь за помощью к специалистам.

Чтобы переход на новую версию PHP никогда не составлял большого труда, постоянно адаптируйте свой сайт под последнюю поддерживаемую версию языка. А также используйте регулярно обновляемые плагины и ПО, избавляясь от всего, что не обновлялось больше года и не подлежит использованию с актуальными версиями PHP.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *