Установка PHP 7.2/7.3 на Raspberry Pi (raspbian stretch)

Категория: Raspberry Pi

Переключаем Raspbian Stretch на buster репозитории ставим PHP 7.2, PHP 7.3 и Nginx 1.14.2 на Raspbian Stretch.

Примечание

Raspbian Stretch (как и Debian Stretch) предоставляет PHP 7.0 по умолчанию. Чтобы установить более новую версию PHP необходимо переключиться на тестовую ветку apt-репозитория, которая называется buster.

Подключение тестовой ветки репозиториев

Подключаем тестовую ветку Raspbian:

sudo nano /etc/apt/sources.list.d/10-buster.list
deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi

Теперь используя опцию apt install -t buster мы будем устанавливать более новые (но, НЕ стабильные) версии пакетов из buster репозитория.

Чтобы использовать buster репозиторий для всех пакетов (не обязательно):

sudo nano /etc/apt/preferences.d/10-buster
Package: *
Pin: release n=stretch
Pin-Priority: 900

Package: *
Pin: release n=buster
Pin-Priority: 750

Обновляем информацию о пакетах:

sudo apt update

Установка PHP 7.2 или PHP 7.3

Установка PHP 7.2.9:

sudo apt install -y -t buster php7.2 php7.2-curl php7.2-gd php7.2-fpm php7.2-cli php7.2-opcache php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-intl php7.2-mysql php7.2-sqlite3
Примечание

При установке пакета php-apcu - установится версия PHP 7.3.0.

Установка PHP 7.3.0:

sudo apt install -y -t buster php7.3 php-apcu php7.3-curl php7.3-gd php7.3-fpm php7.3-cli php7.3-opcache php7.3-mbstring php7.3-xml php7.3-zip php7.3-intl php7.3-mysql php7.3-sqlite3 php7.3-xmlrpc

Лог установки PHP 7.3 на raspbian stretch: https://gist.github.com/sorbing/784791ece3ccf4fc52b2cb664b2298b0.

Установка Nginx 1.14.2

sudo apt install -t buster -s nginx-full # симуляция
sudo apt install -t buster nginx-full    # установка

По желанию, оптимизация nginx:

sudo nano /etc/php/7.3/fpm/conf.d/90-pi-custom.ini
cgi.fix_pathinfo=0
upload_max_filesize=64m
post_max_size=64m
max_execution_time=600

#raspberry pi, #php 7.2, #nginx