iD-SIGN
Ptejte se

Upgrade PHP v Ubuntu včetně již instalovaných modulů

Jednoduchý způsob, jak v Ubuntu/Debianu snadno povýšit verzi PHP včetně všech již instalovaných modulů.

2 min čtenívydáno 12/2022

Vyšlo nové PHP 8.2 a protože PHP je stále základ toho, jak tvoříme webové stránky, tak proč jej tedy rychle nevyzkoušet. Dostupnost pro Ubuntu a Debian je díky deb.sury.org téměř okamžitá, takže je to pouze o tom provést apt install. Abych nemusel ručně vypisovat jména všech balíčků modulů, které mám nainstalované pro 8.1, tak jsem využil sílu linuxového terminálu, pospojoval jsem několik příkazů a rychle bylo hotovo:

bash
dpkg -l | grep php8.1 | awk '{print $2}' | tr -s "\n" " " | sed -e "s/php8\.1/php8.2/g" | xargs sudo apt install -y

Popis jednotlivých částí:

  • dpkg -l - vypsání všech instalovaných balíčků
  • grep php8.1 - vyfiltrování pouze těch balíčků, které mají v sobě php8.1
  • awk '{print $2}' - výstup byl v několika sloupcích a název php8.1 balíčku je ve druhém sloupci
  • tr -s "\n" " " - výstup byl řádkový, tj. každý balíček na novém řádku, tímto výstup převedeme na jeden řádek tím, že nahradíme znak nového řádku za mezeru
  • sed -e "s/php8\.1/php8.2/g" - v názvech balíčků nahradíme php8.1 za php8.2. Nahradit jen číslici by nestačilo: při povýšení z 8.2 na 8.3 by s/2/3/g z balíčku libapache2-mod-php8.2 udělalo neexistující libapache3-mod-php8.3
  • xargs sudo apt install -y - pomocí xargs pošleme výsledný řádek jako parametr příkazu apt install s potřebným sudo a s volbou -y automaticky potvrzujeme všechny změny

Pro použití v jiných distribucích než jsou klony Debianu a Ubuntu by bylo nejspíše nutné příkaz razantně upravit. Ale jako inspirace může určitě také posloužit

Sdílet LinkedIn Facebook

Potřebujete víc než článek?

Zkuste se nám nezávazně ozvat – stačí několik vět o tom, co řešíte.