Når du konfigurerer PHP på Linux hosting med EasyApache 4, kan det være nødvendigt at installere PHP-udvidelser på flere PHP-versioner. Denne guide viser, hvordan du installerer udvidelser ved hjælp af PECL via SSH, enten for en enkelt PHP-version eller for flere versioner samtidigt.

Sådan gør du det

  1. Trin 1: Find PECL-binæren for din PHP-version

    EasyApache 4 understøtter flere PHP-versioner, og hver har sin egen PECL-binær. Stien følger dette mønster:

    /opt/cpanel/ea-php72/root/usr/bin/pecl
    /opt/cpanel/ea-php73/root/usr/bin/pecl

    Erstat versionsnummeret (72, 73 osv.) med din målrettede PHP-version. For at finde præcist hvilke versioner du har installeret på dit system, kan du logge ind via SSH og køre følgende kommando:

    ls /opt/cpanel/ | grep ea-php

    Dette vil give dig en liste over alle de PHP-versioner, der er tilgængelige på dit hostingmiljø.

  2. Trin 2: Installer en udvidelse for en enkelt PHP-version

    Anvend kommandoen pecl install med den fulde sti til PECL-binæren. For eksempel, for at installere xmldiff-udvidelsen for PHP 7.3:

    /opt/cpanel/ea-php73/root/usr/bin/pecl install xmldiff

    Under installationen kan der blive spurgt om forskellige indstillinger. Du kan normalt trykke Enter for at acceptere standardindstillingerne, men det er altid en god ide at læse beskrivelserne nøje.

  3. Trin 3: Installer en udvidelse for flere PHP-versioner

    For at installere den samme udvidelse på flere PHP-versioner (fx PHP 7.2 til 8.0), brug denne loop-kommando:

    ls /opt/cpanel/ea-php{72..80}/root/usr/bin/pecl 2>/dev/null | while read phpversion; do $phpversion install xmldiff; done

    Denne kommando gennemgår PHP-versioner fra 7.2 til 8.0 og installerer xmldiff-udvidelsen for hver tilgængelige version. Justér versionsintervallet ({72..80}) og udvidelsens navn efter behov.

    Hvis du vil sikre, at installationen gennemføres korrekt på alle versioner, kan du tilføje en fejlhåndtering til scriptet. Her er et eksempel:

    ls /opt/cpanel/ea-php{72..80}/root/usr/bin/pecl 2>/dev/null | while read phpversion; do
      echo "Installerer xmldiff for $phpversion..."
      if $phpversion install xmldiff; then
        echo "Installation af xmldiff lykkedes for $phpversion."
      else
        echo "Fejl under installation af xmldiff for $phpversion. Se ovenstående fejlmeddelelser."
      fi
    done

    Dette vil give dig en klar oversigt over, hvilke versioner der installeret udvidelsen korrekt og hvor der kunne være opstået problemer.

Når du har installeret de ønskede PHP-udvidelser, kan det være nødvendigt at genstarte webserveren for at aktivere dem. Du kan gøre dette via SSH med følgende kommando:

sudo systemctl restart httpd

Hvis du bruger en anden webserver end Apache (fx Nginx), skal du justere kommandoen til at matche din server.

Husk altid at sikre dig, at du har en backup af dit system, før du foretager ændringer i PHP-konfigurationen. Du kan administrere dine backupper gennem kundeportalen på portal.internetport.com.