Обновление PHP до версии 7 на сервере с Linux (Ubuntu и Debian)

В то время как множество Linux-дистрибутивов занимаются включением PHP7 в свои репозитории, и придется подождать, уже есть энтузиасты, которые предлагают поддержку PHP7 в своих репозиториях.

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

Для начала добавьте репозиторий PPA от Ondrej Surý.

sudo apt-get install python-software-properties software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update

Удалите PHP5 с вашего устройства.

sudo apt-get purge php5-fpm php5-mysql php5-common sudo apt-get --purge autoremove

Установите PHP7 и необходимые для него расширения:

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl php7.0-mbstring

Обновление до PHP7 на системе Debian

Добавьте репозиторий dotdeb. org, вставив следующий текст в файл /etc/apt/sources. list.

Читайте также:  Два метода обновления Ubuntu 20.04 до Ubuntu 22.04: с использованием графического интерфейса и через терминал

deb http://packages.dotdeb. org jessie all deb-src http://packages.dotdeb. org jessie all

deb http://packages.dotdeb. org wheezy all deb-src http://packages.dotdeb. org wheezy all

deb http://packages.dotdeb. org squeeze all deb-src http://packages.dotdeb. org squeeze all

Загрузите и настройте ключ GnuPG.

wget https://www. dotdeb. org/dotdeb. gpg sudo apt-key add dotdeb. gpg sudo apt-get update

Удалите PHP5 с вашего устройства.

sudo apt-get purge php5* sudo apt-get --purge autoremove

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl

Настройка Nginx

После установки PHP7 ваш сайт может столкнуться с ошибкой 404 — не найдено. Для решения этой проблемы необходимо внести изменения в конфигурацию Nginx.

sudo vi /etc/nginx/sites-available/yourdomain.com

Установите директиву fastcgi_pass в вашем конфигурационном файле.

Читайте также:  Установка и использование Conky Manager на Ubuntu

fastcgi_pass unix:/var/run/php5-fpm.sock;

Конечно, предоставьте текст, который нужно перефразировать.

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

Сохраните изменения и закройте файл. После этого обновите настройки Nginx.

sudo service nginx reload

Теперь ваш сайт должен функционировать без ошибок.

Настройка конфигурации пула PHP файла

Сначала узнайте, какое имя пользователя применяет ваш Nginx; оно указано в первой строке файла /etc/nginx/nginx.conf.

less /etc/nginx/nginx.conf

По умолчанию в PHP7 пользователь и группа устанавливаются на www-data. Если ваш Nginx также настроен на использование www-data в качестве пользователя и группы, то настройка файла пула не требуется. Однако, если в Nginx используется пользователь и группа nginx, вам потребуется внести изменения.

В файле /etc/nginx/nginx.conf вы можете установить имя пользователя Nginx на www-data.

Читайте также:  Как установить и использовать Jenkins на Ubuntu 18.04 и 16.04 LTS

sudo vi /etc/nginx/nginx.conf

Смените пользователя на www-data, после чего обновите настройки Nginx. Альтернативно, можно отредактировать файл пула PHP и установить имя пользователя на nginx.

sudo vi /etc/php/7.0/fpm/pool. d/www.conf

Пожалуйста, измените данную строку.

user = www-data group = www-data listen. owner = www-data listen. group = www-data

Замените все вхождения www-data на nginx. После этого сохраните изменения и закройте файл. Далее перезапустите PHP-FPM.

sudo service php7.0-fpm reload

Как удостовериться в достоверности информации о PHP7?

Создайте файл с именем info.php в корневой директории вашего сайта и вставьте в него следующий текст.

Сохраните файл и закройте его. Затем откройте этот файл в вашем веб-браузере.

www.yourdomain.com/info.php

Вам необходимо обратить внимание на следующее.

обновление до php7

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