Update von PHP und Apache

Wir aktualisieren zwischen dem 21.10. und 23.10.2019 unsere PHP- und Apache-Versionen auf den Webservern.
Durch den dafür notwendigen Neustart des Webservers kommt es bei Ihren Webseiten zu einer Nichterreichbarkeit von wenigen Minuten.

Änderungen der PHP-Versionen

  • 7-73LATEST = PHP 7.3.10 (zuvor: 7.3.6)
  • 7-73STABLE = PHP 7.3.6
  • 7-72LATEST = PHP 7.2.23 (zuvor: 7.2.19)
  • 7-72STABLE = PHP 7.2.19 (zuvor: 7.2.11)
  • 7-72LEGACY = PHP 7.2.11
  • 7-71LATEST = PHP 7.1.32 (zuvor: 7.1.30)
  • 7-71STABLE = PHP 7.1.30 (zuvor: 7.1.23)
  • 7-71LEGACY = PHP 7.1.23 (zuvor: 7.1.15)
  • 7-70LATEST = PHP 7.0.33 (zuvor: 7.0.32)
  • 7-70STABLE = PHP 7.0.32 (zuvor: 7.0.28)
  • 7-70LEGACY = PHP 7.0.28 (zuvor: 7.0.24)
  • 5-56LATEST = PHP 5.6.40 (zuvor: 5.6.38)
  • 5-56STABLE = PHP 5.6.38 (zuvor: 5.6.34)
  • 5-56LEGACY = PHP 5.6.34 (zuvor: 5.6.31)

Bitte beachten Sie, dass sich die Versionen noch ändern können, falls bis zum 21.10.2019 eine neue PHP-Version erscheint.

Änderung der Apache-Webserver-Version

Der Apache-Webserver wird auf die neuste verfügbare Version 2.4.41 (zuvor: 2.4.39) aktualisiert.

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.

Assoziative Arrays in PHP 7

Wie vor ein paar Tagen angekündigt, werden wir demnächst die alte PHP-Version 5 deaktivieren.

Der Umstieg auf die neuere Version PHP 7 ist im Allgemeinen problemlos möglich, jedoch kommt es gegebenenfalls zu Problemen mit assoziativen Arrays, die in PHP 7 leicht anders deklariert werden müssen.

Bei assoziativen Arrays, auf dessen Values man nicht mit einem numerischen Keys á la $user[0] oder $user[1] zugreift, sondern Namen dafür benutzt (zum Beispiel: $user[id] oder $user[name]), so führt dies in PHP 7 zu einer Warnung im Logfile:

PHP Warning: Use of undefined constant name – assumed ’name‘ (this will throw an Error in a future version of PHP)

Aus dieser alten Notation:

$user[name]

Sollte für PHP 7 also diese Notation werden:

$user['name']

Um nicht händisch via Suchen & Ersetzen durch alle Codefiles gehen zu müssen, kann man sich mit diesem regulären Ausdruck die Arbeit vereinfachen:

RegEx-Ausdruck für assoziative Arrays in PHP 7

Mit einem einfachen regulären Ausdruck kann man sich viel Handarbeit im Code ersparen:

Suchen nach:

\[([a-zA-Z]+)\]

Ersetzen mit:

\['\1'\]

Das Suchmuster sucht nach den öffnenden und schließenden eckigen Klammern von Arrays [ + ] und prüft, ob darin alphabetische Zeichen von a bis z oder A bis Z drin vorkommen (mindestens eines, aber beliebig viele).

Lässt man das einmal über alle seine Daten laufen, sind die assoziativen Arrays korrekt ausgezeichnet. Ältere PHP-Versionen haben über diese, eigentlich falsche, Notation noch gütig hinweggesehen, aber bald ist es damit vorbei und die warning messages sind ein erstes Anzeichen dafür.

Apostroph escapen

Man muss natürlich kein Apostroph nehmen, normale Anführungszeichen eignen sich dafür auch. Nutzt man als Array-Index beispielsweise einen Namen, der ein Apostroph enthält (Ku’damm) ist es einfacher, direkt auf Anführungszeichen auszuweichen.

Nutzt man Apostrophe, kann man die in den values enthaltenen Apostrophe auch escapen: Ku\‘damm.

Deaktivierung von PHP-Version 5

Aus Sicherheitsgründen stellen wir die Unterstützung veralteter PHP-Versionen ein. Ab dem 02. März 2020 werden wir die PHP-Version 5 endgültig deaktivieren.

Um Ihnen die Umstellung zu erleichtern, können Sie die PHP-Version 5 bis zu dem genannten Termin weiter nutzen, wir übernehmen jedoch keine Haftung für etwaige bestehende oder neue Sicherheitslücken.

Eine genaue Übersicht Ihrer betroffenen Domains finden Sie unter PHP-Einstellungen, in Ihrem Kundencenter.

Im Kundencenter finden Sie auch eine Übersicht der neuen und weiterhin unterstützten PHP-Versionen.
Bitte wählen Sie hier mindestens PHP in der Version 7.2 oder höher aus.

Bitte prüfen Sie anschließend unbedingt die Funktionalität Ihrer Webseite oder führen Sie vorab einen Test im Staging-System durch.

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.

Update von PHP, Apache und FTP

mit dieser E-Mail möchten wir Sie über eine Aktualisierung der PHP- und Apache-Versionen, sowie des FTP-Dienstes auf unseren Webservern informieren.

PHP-Version und Apache Webservers:

Zwischen dem 22.10. und 25.10.2018 ab je 07:00 Uhr werden wir neue Versionen von PHP, Apache und dem FTP-Dienst auf den Systemen verteilen. Durch den dafür notwendigen Neustart des Webservers kommt es zu einer Nichterreichbarkeit von wenigen Minuten

PHP-Aktualisierungen

Die PHP-Versionen ändern sich wie folgt:

  • 7-72LATEST = PHP 7.2.10 (zuvor: 7.2.3)
  • 7-71LATEST = PHP 7.1.22 (zuvor: 7.1.15)
  • 7-70LATEST = PHP 7.0.32 (zuvor: 7.0.28)
  • 5-56LATEST = PHP 5.6.38 (zuvor: 5.6.34)

Bitte beachten Sie, dass sich die Versionen noch ändern können, falls bis zum 22.10.2018 eine neue PHP-Version erscheint.

Aktualisierung vom Apache-Webserver

Der Apache-Webserver wird auf die neuste verfügbare Version 2.4.35 (zuvor: 2.4.29) aktualisiert.

Aktualisierung des FTP-Dienstes

Sollten Sie während des Updates via FTP zu Ihrem Webserver verbunden sein, wird die Verbindung unterbrochen und Sie können sie direkt neu aufbauen.

Bitte beachten Sie, dass die neue Version eine verschlüsselte Verbindung (FTPS) nur noch über TLS 1.2 unterstützt. Das bedeutet, dass Sie ein aktuelles FTP-Programm benötigen, um sich verschlüsselt über Ihren FTP-Account zu Ihrem Webserver zu verbinden. Sollten Sie nach dem Update keine verschlüsselte Verbindung mehr aufbauen können oder eine Fehlermeldung erhalten, aktualisieren Sie bitte Ihr FTP-Programm oder nutzen Sie SFTP, sofern das Ihr FTP-Programm unterstützt.

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.

PHP Errorlogging selektiv aktivieren

Insbesondere bei der Entwicklung ist es vorteilhaft, das Errorlogging von PHP zu aktivieren.
Auf reinen Entwicklungssystemen erfolgt die Ausgabe der Fehler zumeist direkt im Browserfenster.

Wenn man jedoch auf Produktivsystemen arbeitet und die Fehlermeldungen anderen Webseitenbesuchern nicht anzeigen lassen möchte, hat man die Möglichkeit, die Fehler auch in eine Datei umzulenken.

Mit den folgenden Einstellungen in der .htaccess-Datei werden auftretende PHP-Fehlermeldungen direkt in eine Datei auf dem Server geschrieben.

# Dem Nutzer keine Fehler anzeigen
  php_flag display_startup_errors off
  php_flag display_errors off
  php_flag html_errors off
# Die Fehler in eine Datei schreiben
  php_flag log_errors on
  php_value error_log /pfad/zum/phperror.log

Der /pfad/zum/phperror.log muss natürlich entsprechend angepasst werden.

Wichtig: Die Datei muss bereits existieren und beschreibbar sein!