Laragon: lokaler Server für WordPress und PHP 8

WordPress: Lokaler Server mit Laragon und PHP 8 etwas holprig – aber läuft …

Wozu eigentlich eine lokale Version der Webseite ? – Immer dann, wenn ein Update von Plugins oder eines Themes ansteht, ist es besser, wenn man das Update erst mal testen kann. Das gilt natürlich auch für die Umstellungen auf eine andere PHP-Version.

In dem Zusammenhang gibt es einige Möglichkeiten: Nachdem wir seit Jahren XAMPP als lokalen Server für WordPress – Webseiten eingesetzt haben, sind wir vor mehr als einem Jahr auf Laragon umgestiegen.

Alternativ kann man auch mit Bitnami oder Local by Flywheel einen lokalen Webserver einrichten.

In unserem ersten Beitrag hier auf haurand.com im Oktober 2019 hatten wir Laragon als lokalen Server für WordPress-Instanzen vorgestellt. Seitdem läuft das System problemlos und stabil. Außerdem kann man den lokalen Server auch relativ leicht erweitern. Das wollen wir nachfolgend am Beispiel der PHP-Version 7.4.8 zeigen:

Eine andere PHP-Version auf Laragon zusätzlich einrichten

In der Regel ist es bei Verwendung von Laragon sehr einfach, eine weitere PHP-Version zu installieren. Man braucht lediglich das entsprechende Paket auf der folgenden Seite runterzuladen. Nehmen wir als Beispiel PHP 7.4. In diesem Fall laden wir die Version auf den lokalen Rechner runter. Anschließend entpacken wir die PHP-Version wie hier am Beispiel auf Laufwerk D in dem folgenden Ordner: D:\laragon\bin\php\php-7.4.8-Win32-vc15-x64

Laragon und PHP 7.4
Grafik: haurand.com

Wenn man anschließend Laragon startet, kann man alternativ diese PHP-Version auswählen. Der Vorteil verschiedener PHP-Versionen auf der lokalen Entwicklungsumgebung besteht darin, dass ich jeweils mit der gewählten Version sehen kann, ob die lokale Webseite gut funktioniert. Je nach Version kann es da durchaus schon einige Probleme mit dem einen oder anderen Plugin geben. Aber dazu später noch ein paar Anmerkungen bezogen auf PHP 8. Das war auch der Anlass für diesen Beitrag.

Die Lösung für Laragon und PHP 8

Das lief auch bis zur PHP-Version 8, die im November veröffentlicht wurde, absolut problemlos. Also habe ich wieder die entsprechende Version von php-8.0.0-Win32-vs16-x64 runtergeladen. Anschließend wie gewohnt im entsprechenden Ordner entpackt und dann kam die erste Fehlermeldung.

Glücklicherweise hatte sich das bereits im Laragon-Forum rumgesprochen. Die Lösung war nicht so ganz einfach, wie es da beschrieben war.

Der erste Fehler konnte über die Einstellungen in der Datei mod_php.conf im Ordner \laragon\etc\apache2 korrigiert werden (im Beispiel wurde Laragon auf D: installiert):

# This file is auto-generated, so please keep it intact.
LoadModule php8_module "D:/laragon/bin/php/php-8/php8apache2_4.dll"
PHPIniDir "D:/laragon/bin/php/php-8"
<IfModule mime_module>
AddType application/x-httpd-php .php
</IfModule>

Hier muss php8_module durch php_module ersetzt werden.

Apache Fehler Laragon
Apache Fehler Laragon

Die Hintergründe für das Problem können in dem o. g. Foren-Beitrag nachgelesen werden. Nur kurz: Bis dato war in der genannten Datei immer die PHP-Version (also php7_module, etc. ) genannt. Das hat sich mit der neuen Version PHP 8 geändert.

Das war es (fast)

Damit war es aber nicht getan. Apache startet zwar jetzt korrekt, aber beim Aufruf haben wir massive Fehler. Das konnten wir übrigens beim Schreiben dieses Beitrags nicht mehr reproduzieren. Sollte das Problem auftauchen, dann muss auch der folgende Punkt mit der php.ini noch bearbeitet werden:

Grund für diese massiven Fehler ist die php.ini im Ordner \laragon\bin\php\php-8. Hier waren offensichtlich sämtliche extensions deaktiviert. Wenn man sich das genauer ansehen möchte, findet man auch dazu weitere Hintergrundinfos im Laragon-Forum. In den Einstellungen ist das gut zu sehen:

extensions PHP 8 Laragon

Wenn man die php.ini aus dem Ordner der Version 7.4.8 mit denen der php.ini aus dem Ordner der Version 8.0 vergleicht, dann sucht man am besten nach bz2. In der php.ini der Version 8 löscht man die Kommentarzeichen (;) vor den entsprechend aufgelisteten Zeilen.

Bei uns hat das mit den folgenden Einstellungen in der php.ini funktioniert:

;extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
extension=gd
;extension=gettext
;extension=gmp
extension=intl
;extension=imap
;extension=ldap
extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp

;extension=soap
;extension=sockets
;extension=sodium
extension=sqlite3
extension=tidy
extension=xsl

WordPress und PHP 8

Beim Aufruf einiger WordPress-Seiten erhalten wir Fehlermeldungen. Dies betrifft hauptsächlich Plugins, bei denen Funktionen verwendet werden, die in PHP 8 veraltet (deprecated) sind und dadurch diese Fehlermeldungen verursachen. In einem Fall wurde ein „Fatal Error“ ausgeworfen. Bei anderen Plugins erhalten wir Warnungen. Insofern gibt es für manchen Entwickler von Plugins und Themes jetzt Handlungsbedarf.

PHP 8 WordPress Bericht

Einige WordPress-Instanzen hatten allerdings keinerlei Probleme mit der neuen Version. In dem Zusammenhang möchte ich einen Beitrag von raidboxes nennen, der zu dem folgenden Schluss kommt:

Kompatibilitätsprobleme sind auch ein Grund, warum PHP 8 nicht sofort im RAIDBOXES Dashboard für unsere Kund:innen verfügbar ist. Denn besonders nach Major Updates ist es immer sinnvoll, den Plugin Entwickler:innen ausreichend Zeit für eventuelle Anpassungen zu geben und vorerst abzuwarten.

Quelle: https://raidboxes.io/blog/webdesign-development/php-8/

Fazit

Auch wenn die Umstellungen auf PHP 8 beim lokalen Server, den wir mit Laragon eingerichtet haben, nicht ganz so flüssig wie sonst lief, haben wir das Problem doch relativ flott in den Griff bekommen. Leider ist das keine dauerhafte Lösung. Zumindest die Änderung an der mod_php.conf mussten wir nach Umstellung auf PHP 7.4 und erneuter Umstellung auf PHP 8 wiederholen. Angeblich arbeitet der Entwickler von Laragon bereits seit einiger Zeit an einer neuen Version, bei der das Problem dann behoben sein soll.

Wir werden zur Zeit eher nicht auf die Version 8 umstellen, sondern warten erst mal ab, ob und wann die eingesetzten Plugins überarbeitet worden sind. Aber alleine, um einen Einblick zu erhalten, wo es „klemmt“, hat sich die Arbeit in und an Laragon auf jeden Fall gelohnt.

Was halten Sie davon?

Wir hoffen, dieser Beitrag hat Ihnen gefallen und wir würden uns über einen Kommentar freuen. Auch über Erweiterungen, Korrekturen, Hinweise oder sonstige Anmerkungen freuen wir uns sehr.

Weitere interessante Beiträge rund um WordPress finden Sie hier


Mehr erfahren auf dieser Webseite

Grafik: Laragon


Zum Blog

Mehr erfahren auf unserer Webseite

Wir freuen uns über Ihre Kontaktaufnahme

Telefon Haurand

0241 9551861

self-Logo

info@haurand.com

Schreibe einen Kommentar