Två versioner php

Ibland måste man installera två versioner av ett program bredvid varandra. Här visas ett sätt och det gäller php i Fedora 35. Vi börjar. 

phpinstall1

Men det fattas en plugin till dnf. Vi installerar.

phpinstall2

Nu kan vi köra nedanstående kommandon. Och det fungerar.

# dnf config-manager --set-enabled remi

# dnf module reset php

Nu kan vi installera php version 7.4

dnf install php74-php-cli php74-php-fpm php74-php-gd php74-php-curl php74-php-mysqlnd php74-php-zip php74-php-xml php74-php-mbstring php74-php-bcmath

phpinstall3

Nu är det spännande eftersom vi ska kontrollera att vi har två versioner av php installera i Fedora-servern.

 phpinstall5

Nu har servern två versioner av php. Vi ska kontrollera om tjänsten sattes i gång vidd installation av php 7.4.

# systemctl is-enabled php74-php-fpm.service

För mig var konfigurationsfilen installerad, men tjänsten var inte i gång. Först aktiverar jag den, och med det menas att tjänsten startar vid start eller omstart av servern. Men för att starta tjänsten nu kör jag det andra kommandot nedan.

# systemctl start php74-php-fpm.service 

Därefter kontroller vi att den är i gång.

# systemctl status php74-php-fpm.service

phpinstall6

Nu är vi i gång, men inte färdiga. För att få Nginx att köra två olika versioner av php måste vi konfigurera lite mer, dels i php, dels i Nginx.

Efter en stund hittar jag den fil jag letar efter i /etc/opt/remi/php74/php-fpm.d/www.conf. För säkerhets skull gör jag en kopia av filen ifall jag kommer långt bort från en fungerande konfiguration.

cp www.conf www.conf.bak

Jag ändrar processens ägare från Apache till Nginx då jag kör Nginx-server.

user = nginx

group = nginx

Längre ner hitta jag pgiften om var Nginx ska lyssna på php. Den ändrar jag inte utan tar med den till rätt konfigurationsfil i Nginx /etc/nginx/sites-available.

listen = /var/opt/remi/php74/run/php-fpm/www.sock

Jag ändrar till Nginx från Apache för Selinux

listen.acl_users = nginx

Så länge väntar jag med att avkommentera följande rader för att se om det fungerar.

Dock uppstår det ytterligare ett fel; det är återkommande om man kör Nginx i stället för Apache. Fedora har ett grundsätt att säkerställa ägare på filer vilket förutsätter att det är Apache som kör webbservern. Det finns ett sätt att ändra på det till Nginx, men jag har glömt det. Därför gör jag det manuellt den här gången. Efter varje uppdatering av php kommer rättigheterna att återställas till de ursprungliga så mitt sitt är inte bestående. Men här kommer hur jag gjorde i alla fall.

phpinstall7

Ja, ni såg att root och apache har tillgång till dessa filer. Jag ändrar på nedanstående sätt.

phpinstall8

Nu ska mitt CMS-system gå att köra. För den klarar nämligen inte av php version 8, utan upp till 7.4 går bra. Och det gör det så nu är jag klar bortsett från att jag måste se till att Fedora automatiskt sätter Nginx som behörig ägare till filerna jag nyss ändrade behörigheter på.

 

Föregående sida: CMYK:a Inkscape-fil Nästa sida: Guider inom nätverk