Debian 9 a aktualizace PHP na verzi PHP 7.3

Debian 9 byl vydaný v červnu 2017 s verzí PHP 7.0. Od ledna 2019 tato verze již není mezi podporovanými, nevycházejí na ní už ani Security fixy. Řešením je instalace nového PHP z dodatečného repozitáře.

Úvodem

Jak bylo řečeno, Debian 9 obsahuje dnes již nepodporovanou verzi PHP 7.0. V nové verzi Debian 10 Buster, plánované nejspíš na léto 2019, se chystá verze 7.3. Zatím si musíme poradit sami. https://wiki.debian.org/PHP

Verze PHP

PHP nyní vydává svoje verze s ročním cyklem http://php.net/supported-versions.php

PHP lifecycle

Do tohoto tu máme ještě Drupal, který má také svoje nároky. https://www.drupal.org/docs/7/system-requirements/php-requirements a https://www.drupal.org/docs/8/system-requirements/php-requirements

Drupal a podporované verze PHP

A toto je tabulka platná pro samotný Drupal, danou verzi PHP ale také musí podporovat všechny dodatečné moduly.

Nové verze PHP v Debianu

Jak bylo řečeno, v Debian 9 je obsaženo pouze PHP 7.0 https://packages.debian.org/stable/php/php. Jedním z členů týmu, co se stará o PHP v Debianu, je Ondřej Surý https://tracker.debian.org/pkg/php-defaults, https://deb.sury.org/. A právě jeho repozitář nabízí nové verze PHP pro Debian (a Ubuntu), a dokonce různé verze PHP a pro několik verzí Debianu

Pozor! Je třeba si vybrat správnou verzi PHP, vaše aplikace / kód nemusí třeba s nejnovější verzí PHP 7.3 korektně fungovat, a stačila by mu klidně jenom verze 7.2

Následující kroky jsem našel na tomto blogu https://computingforgeeks.com/how-to-install-php-7-3-on-debian-9-debian… a popisují instalaci verze 7.3

apt -y install lsb-release apt-transport-https ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.3.list
apt-get update
apt-get -y install php7.3

A máme hotovo:

PHP 7.3

Ale pozor - systém nám teď nabízí hned několik verzí PHP, takže i při instalaci dodatečných PHP modulů je třeba zadávat tu správnou verzi.

root@deb9php:~# apt-cache search php-gd
php7.0-gd - GD module for PHP
php-gd - GD module for PHP [default]
php5.6-gd - GD module for PHP
php7.1-gd - GD module for PHP
php7.2-gd - GD module for PHP
php7.3-gd - GD module for PHP

A pokud jste zvyklí instalovat pomocí debian balíčků nějakou aplikaci závislou na PHP, např. phpMyAdmin, může mít závislost na konkrétní verzi PHP.