Unter Schirmherrschaft von
Factory Seven Media & Consulting
running-cool.de
   X   

[Krankheiten von A bis Z]

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

   X   

[Medikamente von A bis Z]

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

   X   

[Diagnostik & Laborwerte von A bis Z]

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

   X   

[Therapieverfahren von A bis Z]

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

   X   

[Gesundheitsthemen von A bis Z]

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

   X   

[Symptome von A bis Z]

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

   X   
Suche

Howto: Aktualisierung von PHP 7.x auf PHP 8.x unter Ubuntu/ Debian

Das Installieren einer aktuellen PHP-Version auf einem Linux-Server erfordert immer ein paar Handgriffe, aber insgesamt ist es ein unproblematischer Prozess, der gut dokumentiert und erprobt ist. Ein Upgrade von PHP 7.x auf PHP 8.x bedingt nicht nur ein Upgrade des PHP-Kerns, sondern auch aller Erweiterungen (PHP-Pakete).

Aber keine Sorge, dieses ist wahrlich keine Raketentechnologie. Der erste Schritt ist immer, sich am Anfang erst mal einen Überblick über die installierten PHP-Versionen und Pakete zu verschaffen.

Das Howto des PHP-Upgrades gilt auch für andere PHP-Aktualisierungen und Wechsel

Die hier vorgestellten Schritte gelten im Übrigen auch für alle PHP-Upgrade-Prozesse, egal ob es sich dabei um ein Minor- oder Major-Release-Upgrade handelt.

Analysieren

 Listing 1: Welche PHP-Version ist überhaupt installiert


php -v


Leider ist das Ergebnis in unserem Fall uneindeutig. Es sind mehrer PHP-Versionen auf unserem Linux-Server installiert und es stellt sich nun die Frage, welche dieser Versionen wird aktuell für unseren PHP-Webapplikationen benutzt. Am besten es wird hier ein kleines PHP-Script geschrieben, um die Information mithilfe der PHP-Funktion phpinfo () zu erhalten.

Listing 2: Ermittlung der aktiven Web-PHP-Version mittels eines phpinfo()-Scripts


<?php
phpinfo();
?>


Das Script wird im Doc-Root installiert und anschließend einfach im Browser aufgerufen. Aus Sicherheitsgründen sollte die Script-Datei anschließend wieder entfernt oder der Datei die Ausführungsrechte entzogen werden (chmod 000 phpinfo.php) werden, da es sehr viel Informationen über den Web-Server und dessen Module verrät.

Zum Schluss der kleinen Analyse lassen wir uns alle installierte PHP-Erweiterung in eine Textdatei (php_erweiterungen.txt) schreiben und bekommen so einen Überblick über PHP-Spracherweiterungen einschließlich der Versionsnummern.

Listing 3: Installierte PHP-Erweiterungen und Module


dpkg -l | grep php | tee php_erweiterungen.txt


Installation der neuen PHP-Version

Hinzufügen von Ondřej Surý PPA Repository zum herunterladen der aktuellen PHP-Pakete. Die Trennung der Ubuntu-Updates von der PHP-Version macht sehr viel Sinn, da nicht alle PHP-Applikationen auf der neusten PHP-version lauffähig sind.

Listing 4: Hinzufügen des Repository von Ondřej Surý 


apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update


Ab Ubuntu 22.04 und höher müssen dieses Repository nicht mehr hinzufügt werden.

Listing 5: Installion der neuen PHP-Version


apt install php8.1


PHP-Erweiterungen installieren

Für die neue PHP-Version (in unserem beispiel PHP 8.1) werden nun einige häufig verwendete PHP-Erweiterungen mit "apt install" implementiert.

 Listing 5: Installation von PHP-Erweiterungen mittels apt install


apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl -y


Aktivieren der neuen PHP-Version für den Apache2

Nun muss dem Apache mitgeteilt werden, dass er die neu installierte Version von PHP 8.1 verwenden soll. Vorher muss allerdings die alte PHP-Version deaktiviert werden (hier im Beispiel PHP 7.4).

Deaktivieren der alten PHP-Version 7.4, aktivieren der neuen PHP-Version 8.1 via a2dismod und a2enmod

Listing: 2dismod – a2enmod


Deaktivieren der alten PHP-Version
a2dismod php7.4

Aktivieren der neuen PHP-Version
a2enmod php8.1

Restart des Apache
systemctl restart apache2


Inhaltsverzeichnis Top
Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.