Как обновить php ubuntu

Обновлено: 07.07.2024

3 декабря 2015 года состоялся релиз финальной PHP версии 7.0.0. Новая версия содержит в себе множество нововведений, к примеру, увеличена производительность, добавлены анонимные классы, строгая типизация, безопасный рандом и многое другое. В этой статье мы расскажем, как можно быстро обновить веб-сервер Apache или Nginx c любой версии PHP 5 до PHP 7.

Требования

У вас должна быть установлена версия PHP 5 на операционной системе Ubuntu 14.04, и вы должны использовать либо модуль mod_php в случае веб-сервера Apache, либо PHP-FPM, если у вас веб-сервер Nginx. Также у вас должен быть создан пользователь, который не имеет root-прав, но может выполнять команды sudo для того, чтобы выполнять административные задачи.

Добавление PPA для пакетов PHP7

Ondřej Surý отвечает за пакеты PHP для Debian, и именно у него вы можете найти PPA для PHP 7.0 на Ubuntu. Поэтому в первую очередь авторизуйтесь в системе и добавьте PPA от Ondřej Surý в APT-утилиты операционной системы:

После того, как на экране высветилось описание пакета PPA, нажмите Enter.

Примечание.
Если в вашей локали установлена не UTF-8 кодировка, тогда при установке PPA может возникнуть ошибка, связанная с обработкой букв имени автора. В качестве временного решения вы можете установить language-pack-en-base, и, когда локали сгенерированы, заместить настройки локали системы в то время, как добавляется PPA:

После того, как пакет PPA установлен, вам необходимо обновить кэш локального пакета. Это нужно для того, чтобы локальный пакет включал содержание PPA:

После того, как вы получили доступ к пакетам PHP 7.0, можно заменить уже установленную версию PHP.

Обновление модуля mod_php на Apache

В этом разделе вы найдете информацию о том, как обновить систему, использующую в качестве веб-сервера Apache и модуль mod_php для выполнения PHP-кода.
Для начала вам необходимо установить новые пакеты. Благодаря этому будут обновлены все важные PHP-пакеты, за исключением php5-mysql, который будет удален.

Примечание.
Если вы делали какие-то значительные изменения в файлах конфигурации в /etc/php5/, они будут все еще доступны. Конфигурационные файлы для PHP 7 лежат в /etc/php/7.0.

Всем пользователям MySQL необходимо повторно добавить обновленные двухсторонние биндинги PHP MySQL. Обязательно убедитесь в том, что вы это сделали:

Обновление PHP-FPM на Nginx

Инструкции, которые вы найдете в этом разделе, подойдут тем, кто использует в качестве веб-сервера Nginx, а PHP-код выполняется через менеджер процессов PHP-FPM.
Для начала установите новый пакет PHP-FPM и его зависимости:

Для завершения установки вам нужно нажать Enter.

Всем пользователям MySQL необходимо убедиться, что они повторно добавили обновленные двухсторонние биндинги PHP MySQL:

Примечание.
Если вы делали какие-то значительные изменения в файлах конфигурации в /etc/php5/, они будут все еще доступны. Конфигурационные файлы для PHP 7 вы можете найти в /etc/php/7.0.

Обновление пути сокета у веб-серверов Nginx

Nginx использует сокет домена Unix для того, чтобы взаимодействовать с PHP-FPM. По умолчанию установленная версия PHP 7 будет использовать тот путь, который ей указали сокеты:

PHP 5: /var/run/php5-fpm.sock
PHP 7: /var/run/php/php7.0-fpm.sock

Откройте конфигурационный файл сайта default, используя nano (или другой редактор на ваше усмотрение):

Ваша конфигурация может отличаться от написанной. Ищите блок, начинающийся с location

После этого вам нужно выйти, а затем сохранить файл. Если вы работаете в редакторе nano, то просто нажмите Ctrl-X для выхода, y для подтверждения и Enter для того, чтобы подтвердить перезапись имени файла.
Повторите этот процесс для всех остальных виртуальных серверов, расположенных в /etc/nginx/sites-enabled, которым необходимо поддерживать PHP.

Далее перезапустите nginx:

Тестирование PHP

После того, как вы настроили веб-сервер и установили новые пакеты, необходимо проверить, что PHP работает. Для начала проверьте, какая версия PHP установлена, используя команду:

Создание тестового файла возможно и в корневом каталоге документов веб-сервера. В зависимости от того, какой у вас веб-сервер и конфигурация, это может быть один из следующих вариантов:

PHP представляет собой серверный язык, который широко используется для веб-разработки. Обновление PHP позволяет выполнять в три раза больше запросов, одновременно повысив безопасность сайта.

Обновление PHP на сервере

Ubuntu

Чтобы обновить PHP, на операционной системе Ubuntu на ядре Linux должна стоять старая версия — PHP 5. В случае использования Apache применяется модуль mod_php, для Nginx — PHP-FPM.

Помимо этого , перед установкой следует убедиться в том, что предварительно создан пользователь без root-прав, который может выполнять команды sudo.

Добавление пакетов PPA

Добавление репозитория

Далее, чтобы установка новой версии PHP прошла без проблем, необходимо обновить кэш локального пакета через sudo apt-get update .

Модуль Apache

Перед установкой обновляются все старые пакеты, исключая php5-mysql, который будет удален. Все пользователи MySQL должны повторно добавить двухсторонние биндинги PHP:

Установка PHP производится с помощью команды:

Если ранее пользователь как-то изменял конфигурационные файлы предыдущей версии, их можно будет найти в директории /etc/php5/ . Новая конфигурация находится по адресу /etc/php/7.0 .

Обновление PHP-FPM для Nginx

Для начала устанавливается новый пакет PHP-FPM командой

В случае с MySQL необходимо повторить ту же операцию, что и пользователям Apache — обновить биндинги.

Пути сокетов у Nginx

Сервер использует сокет, чтобы взаимодействовать с PHP-FPM. По умолчанию новая версия языка использует указанный сокетами путь /var/run/php/php7.0-fpm.sock .

В файле конфигурации default необходимо найти блок, который начинается с location

Выходим из редактора и сохраняем файл. Эту процедуру необходимо провести для всех виртуальных серверов, которые располагаются в директории /etc/nginx/sites-enabled .

После завершения операции сервер перезагружается командой sudo service nginx restart .

Тестирование

Проверить PHP можно с помощью тестового файла, который нужно будет открыть или создать, если его нет. Для его создания подойдет редактор nano или любой другой. Открываем файл info.php в корневом каталоге.

Туда необходимо скопировать следующий код: <?php phpinfo(); ?>

Если что-то работает некорректно, необходимо убедиться в правильности действий. Например, обновление в панели Vesta требует предварительного ввода следующей команды:

А уже потом ввести версию PHP для начала процесса.

CentOS

Для CentOS 7 инструкция несколько отличается:

В первую очередь необходимо добавить репозиторий EPEL с помощью команды yum install epel-release .


Debian

Перед установкой новой версии PHP на Debian необходимо обновить все текущее программное обеспечение. Сделать это можно с помощью команд:

Как и с предыдущими случаями, в первую очередь необходимо включить PPA. Чтобы сделать это, импортировав ключ подписи, используем команду:

Чтобы начать установку PHP, запустите процесс командой:

Проверить установленную версию можно через php -v .

Результат установки

Обновление для популярных CMS

Обновление PHP для CMS площадок обуславливается двумя факторами.

Увеличением скорости работы. По сравнению со старыми версиями новая будет работать в 3-4 раза быстрее, что позволяет повысить ранжирование сайта в поиске;

Повышением безопасности. Снижаются риски взлома, причинения ущерба репутации сайта.

Как сменить версию PHP в ISPmanager, читайте в этой статье.

WordPress

Для WordPress обновление PHP требуется по упомянутым ранее причинам. Если вдруг желания обновлять его нет, следует помнить, что платформа хорошо работает даже с версией 5.6.20, то есть располагает отличной обратной совместимостью. Поэтому, нужно ли обновлять PHP, нужно решать индивидуально.

Что сделать перед обновлением

Резервное копирование сайта , обеспечивающее возможность возврата на старую версию без потерь.

Обновление WordPress , тем и плагинов — рекомендуется делать регулярно, потом стоит проверить корректную работу сайта.

Проверка совместимости с PHP — для этого можно использовать плагин PHP Compatibility Checker .

Чтобы плагины и темы работали нормально после обновления, их разработчики должны иметь хорошую репутацию. Если после обновления PHP не работает сайт, проблема может крыться именно в них. Служба поддержки WordPress не гарантирует такую совместимость с новой версией PHP, поэтому подготовительный этап рекомендуется не пропускать.

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

Обновление PHP на сервере - wp

Попросить обновить версию PHP в WordPress можно с помощью обращения, которое предлагает служба поддержки платформы.

Joomla

Для повышения безопасности сайта любая CMS будет рекомендовать обновить PHP. Так, например, в справке Joomla будет написано: «Проект Joomla рекомендует обновить ваш сайт до версии PHP 7.1 или более поздней версии».

Чтобы обновление до последних версий PHP прошло без проблем, необходимо убедиться в том, что на сайте стоит как минимум Joomla 3.5. Иначе система будет работать некорректно.

Самый простой способ обновить версию PHP — обратиться в поддержку хостинга. Зачастую они это делают бесплатно и достаточно быстро. Если же хочется сделать все самому, достаточно перейти в панель управления и начать процедуру в настройках на хостинге.

Остальные способы представлены ниже.

Обновление через .htaccess

Чтобы обновить все таким образом, достаточно создать новый файл в корневом каталоге сайта или отредактировать существующий. Необходимо добавить только одну строчку.

VPS или сервер

Обновить PHP на сервере, если используется Ubuntu 14.04 и ниже, можно с помощью команды:

Для версии 5.6 достаточно использовать sudo apt-get install php5 и после перезапустить сервер.

Для исправной работы версии PHP 7, как и в случае с инструкцией для Ubuntu, потребуется дополнительно обновить mod_php для Apache и PHP-FPM для Nginx соответственно. Порядок действий для этого представлен выше.

Битрикс

Чтобы обновить PHP в веб-окружении Битрикс, необходимо:

Чтобы попасть в меню, подключаемся к серверу по SSH через пользователя с root-правами. Выбираем пункт 1. Manage servers in the pool .

В следующем списке нажимаем на 8. Update PHP and MySQL .

Выбираем Update PHP to version 7.1 и подтверждаем действие, введя «y» («yes»).

Меню отразит задание и его идентификатор, а также статус выполнения.

Чтобы узнать, завершен ли процесс, в основном меню нажимаем 10. Background pool tasks . Должна появиться строка с finished .

После любого обновления некоторые приложения могут перестать работать. Это связано с их версией выпуска. Если они запущены в Marketplace после лета 2016 года, то никаких проблем не возникнет. Более ранние версии имеют другие механизмы защиты, которых может оказаться недостаточно для работы с обновленным PHP.

vcp_ubuntu_php

Сегодня в статье рассмотрим Обновление PHP до PHP 7.4 на Ubuntu Sever с панелью управления VestaCP и веб сервером Nginx + php-fpm.

Все началось после того, как WordPress предложил мне обновится до более новой версии PHP, а точнее до версии PHP 7.3 PHP 7.4

Ну раз предложил, то почему бы и нет. Тем более новая версия PHP 7.3 дает прирост 5%-10% по сравнению с PHP 7.2 и 20%-25% по сравнению с PHP 7.1. PHP 7.4 стала еще более быстрой+ 5-8% по сравнению с PHP 7.3

Обновление PHP на Ubuntu с VestaCP

Для обновления на новую версию PHP, подключаемся по SSH к нашему серверу.

Далее добавим более свежий репозиторий для нашего PHP

Устанавливаем php 7.4,а также некоторые необходимые дополнения.

После установки всех дополнений PHP 7.4 набираем в терминале следующую команду:

Данная команда назначит к запуску по умолчанию интерпретатор PHP 7.4.

Если же Вы хотите вернуть версию PHP 7.X, то набираем такую команду:

Скопируйте старый php.ini в новую директорию:

Останавливаем службу php7.X-fpm и запускаем php7.4-fpm:

Проверяем всё ли запустилось:

Должно выдать что-то вроде этого:

Если после данной манипуляции перестали работать сайты на WordPress, то читаем дальше.

Решение ошибки 500 — внутренняя ошибка сервера.

И так мы подобрались к сути проблемы. После всех этих действий сайт с версией PHP 7.4 выдавал ошибку 500. Как только я останавливал 7.4 и запускал, ну скажем PHP 7.2 ошибка исчезала и сайт начинал работать в нормальном режиме.

Данный файл подгружает настройки для нашего домена при запуске php-fpm. Ну хорошо копирую файл в директорию с PHP 7.4, а лучше сразу всю директорию

Если запускали старую версию PHP, то останавливаем службу php7.2-fpm и запускаем php7.4-fpm:

Захожу на сайт, УРА. Ошибка 500 исчезла, сайт заработал в нормальном режим.

P.S. Также если не помогает, то двигаемся дальше. И да если сайт отказывается работать на новой версии PHP. Делаем следующее:

Меняем значение на:

Также удаляем файлы:

Далее копируем нашу PHP 7.4:

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

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.


Понизить либо повысить версию PHP 7.0 до PHP 7.4


Понижение и повышение версии PHP в Ubuntu вариант 1

Понижение и повышение версии PHP в Ubuntu вариант 1

В этом руководстве мы покажем вам, как обновить PHP 7.0, который по умолчанию установлен Vesta CP во время установки, до последней версии PHP 7.1.xx, 7.2.xx, 7.3.xx или 7.4.xx на сервере Ubuntu.

Мы тестировал все версии php, т.е. 5.6, 7.0, 7.1, 7.2, 7.3, 7.3 прежде чем писать эту инструкцию. Данное решение работает нормально, без каких-либо проблем, поэтому можно безопасно перейти на PHP 7.2 или PHP 7.4 под vestacp в Ubuntu / Debian.

Зачем переходить на php 7.1, 7.2, 7.3 или 7.4?

Это даст вам повышение безопасности и производительности + KICK, поскольку WordPress или поддерживаемые скрипты будут загружаться намного быстрее и потреблять меньше ресурсов.

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

Вам нужно установить software-properties-common:

Для Apache mod_php:

Для обновления PHP 7.1:

Сначала вам нужно добавить Ondrejs PPA:

Если вы получите: “‘ascii’ codec can’t decode byte”, выполните следующую команду:

затем запустите эти команды:

Теперь установим PHP 7.1:

После установки, отключите модуль php 7.0, чтобы активировать модуль php7.1:

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


Для обновления до PHP 7.2, 7.3, 7.4, достаточно изменит цифры версии в командах.
Пример для PHP 7.4:

Теперь, если вы установили все нужные Вам версии PHP, вы сможете переключать их, как в сторону повышения, так и понижать версию PHP.


Чтобы повысить php7.1 до php 7.4, просто выполните следующие команды:


Чтобы понизить версию с php7.4 до php 7.0, просто выполните следующие команды:

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

ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ВЕРСИЯМИ PHP вариант 2

ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ВЕРСИЯМИ PHP вариант 2

Пример: Ubuntu 18.04 как переключить PHP7.4 на php5.6

Этот метод заключается не в удалении каких-либо из версий php и установке другой версии, а в установке PHP как надстройки и в использовании одной из версий PHP по необходимости.

Данный метод не позволяет выбирать нужную версию PHP в панели управления VestaCP.

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

Приступим к установке и настройке:

Вы установили версию PHP 5.6.

Проверим версию PHP командой:

Вывод может отображать вашу старую версия PHP.

Теперь переходим к переключению версий 7.4 -> 5.6

Для применения изменений, рестарт веб сервер Apache:

Обычно, сначала необходимо установить еще несколько модулей необходимых для правильной работы веб сервера:

Читайте также: