Обновление PHP 5 до PHP 7 в Ubuntu, как обновить php на хостинге.

Обновление PHP 5 до PHP 7 в Ubuntu 14.04

Версия PHP 7.0 была выпущена 3 декабря 2015 года. PHP 7 обладает существенно улучшенной скоростью и множеством других новых функций.

Это руководство поможет быстро обновить веб-сервер Apache или Nginx, работающий на любом релизе PHP версии 5.

Примечание: Запускать PHP 7 в производство сразу после обновления не рекомендуется. Сначала нужно проверить приложения на совместимость с новым релизом и ознакомиться с функциями языка.

Требования

Для выполнения руководства нужно иметь экземпляр PHP 5.x на сервере Ubuntu 14.04 с предустановленным модулем mod_php (для Apache) или PHP-FPM (для Nginx). Также нужна учётная запись не-root с доступом к sudo.

Добавление PPA для PHP 7

PPA (или Personal Package Archive) – это apt-репозиторий, размещенный на Launchpad. Репозитории PPA позволяют сторонним разработчикам работать над пакетами Ubuntu вне официального процесса. В таких репозиториях часто можно найти полезные бета-версии, пользовательский код и ретроподдержку устаревших версий операционной системы.

Ondřej Surý поддерживает пакеты PHP для Debian и предлагает PPA-репозиторий PHP 7.0 для Ubuntu. Войдите в систему и добавьте репозиторий:

sudo add-apt-repository ppa:ondrej/php-7.0

На экране появится описание PPA. Чтобы продолжить, нажмите Enter.

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

sudo apt-get install -y language-pack-en-base

sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php-7.0

После добавления PPA обновите кэш пакетов системы:

sudo apt-get update

Теперь у системы есть доступ к PHP 7.

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

Этот раздел содержит инструкции по обновлению модуля mod_php для поддержки нового кода PHP.

Примечание: Если вы используете веб-сервер Nginx, переходите к следующему разделу.

Сначала установите пакеты новой версии. Это обновит все пакеты PHP, кроме php5-mysql, который будет удалён.

sudo apt-get install php7.0

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

Если на сервере используется СУБД MySQL, нужно обновить связки PHP:

sudo apt-get install php7.0-mysql

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

Этот раздел содержит инструкции по обновлению PHP-FPM для поддержки новой версии PHP.

Установите пакеты новой версии PHP и её зависимостей:

sudo apt-get install php7.0-fpm

Нажмите Enter, чтобы продолжить.

При использовании MySQL нужно переустановить связки PHP:

sudo apt-get install php7.0-mysql

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

Настройка сокетов Nginx

Nginx взаимодействует с PHP-FPM при помощи сокетов Unix. Сокеты задают пути в файловой системе; по умолчанию установка PHP 7 использует новый путь.

Откройте конфигурационный файл default:

sudo nano /etc/nginx/sites-enabled/default

Примечание: Приведённые здесь настройки могут отличаться от ваших.

Найдите блок location

Отредактируйте её следующим образом:

Теперь блок выглядит так:

listen 80 default_server;

listen [::]:80 default_server ipv6only=on;

index index.php index.html index.htm;

try_files $uri $uri/ =404;

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;

try_files $uri =404;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Сохраните и закройте файл.

Если у вас несколько сайтов, повторите этот процесс в конфигурационных файлах всех сайтов, добавленных в /etc/nginx/sites-enabled, если они должны поддерживать PHP.

sudo service nginx restart

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

Теперь веб-сервер настроен, все новые пакеты установлены. Нужно убедиться, что обновление прошло успешно.

Запросите версию PHP:

trusty+1 (cli) ( NTS )

Copyright (c) 1997-2015 The PHP Group

Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

Также можно создать тестовый файл в каталоге document root веб-сервера. В зависимости от используемого сервера и настройки это может быть один из этих каталогов:

При помощи nano откройте новый файл info.php в каталоге document root. По умолчанию для Apache это каталог:

sudo nano /var/www/html/info.php

sudo nano /usr/share/nginx/html/info.php

Вставьте в файл следующий код:

Закройте редактор и сохраните файл. Теперь откройте файл в браузере:

Появившаяся на экране страница указывает версию PHP и предоставляет данные о настройке PHP 7. После проверки рекомендуется удалить файл info.php, так как он содержит конфиденциальные данные.

sudo rm /var/www/html/info.php

Заключение

Теперь на сервере есть готовая к работе установка PHP 7.

За дополнительной информацией обращайтесь к официальному руководству PHP 7.

Здравствуйте! Подскажите, при обновлении php5-fpm на php7-fpm пятерка остается рабочей? То есть её можно продолжать использовать, если не заменять unix:/var/run/php5-fpm.sock;?

Просто надо перевести на php7 несколько сайтов, а остальные оставить на пятерке. Спасибо.