Posts Tagged ‘php’

PHP 7.2 RC1 verfügbar

Freitag, September 1st, 2017

Ab sofort steht auf unseren Webservern der erste Release Candidate der neuen PHP-Version 7.2 zu Testzwecken zur Verfügung. Bitte beachten Sie, dass es sich dabei um eine Vorabversion handelt, die noch einige Fehler enthalten kann, sie sollte daher nicht für den Produktiveinsatz genutzt werden. Die endgültige und für den Produktiveinsatz freigegebene Version von PHP 7.2 erscheint voraussichtlich gegen Ende November dieses Jahres.

Änderungen zur Vorgängerversion 7.1

Grundsätzlich fallen die Änderungen an bestehenden Funktionen im Vergleich zur Vorgängerversion PHP 7.1 geringfügig aus, so dass die meisten aktuellen PHP-Anwendungen auch unter PHP 7.2 lauffähig sind. Eine Übersicht über alle Änderungen finden Sie hier.

Wir konnten in ersten Tests einen kleinen Geschwindigkeitsvorteil von bis zu 10% zugunsten der neuen PHP-Version feststellen.

Eine wichtige Änderung ist die Entfernung der veralteten Verschlüsselungs-Extension Mcrypt, statt dessen sollte die neu hinzugefügte Extension Sodium genutzt werden.

PHP 7.2 aktivieren

Sie können PHP 7.2 wie üblich per .htaccess-Datei mittels folgender Direktive aktivieren:
AddHandler application/x-httpd-php72 .php
Die Aktivierung über das Kundenmenü wird erst möglich sein, sobald die finale Version von PHP 7.2 offiziell veröffentlicht wird.

PHP-Version im Kundenmenü einstellbar

Dienstag, Februar 21st, 2017

Ab sofort können Sie die für Ihre Webseiten genutzte PHP-Version mit zwei Klicks über unser Kundenmenü einstellen. Sie finden die neue Option im Menüpunkt „PHP“, der sich unter den Einstellungen Ihres Hosting-Pakets befindet. Die Einstellung gilt für alle Domains in Ihrem Hosting-Paket, eine Auswahl unterschiedlicher PHP-Versionen für einzelne Domains eines Pakets ist momentan noch nicht möglich.

Die Auswahl der PHP-Version ist jetzt im Kundenmenü möglich.

Sie können die PHP-Version auch wie gehabt per .htaccess-Konfigurationsdatei auf dem Webserver festlegen, diese Einstellung überschreibt dabei die im Kundenmenü gewählte PHP-Version. Auf diese Weise können Sie weiterhin für verschiedene Domains/Verzeichnisse unterschiedliche PHP-Versionen nutzen.

Die aktuell für Ihre Webseite konfigurierte PHP-Version können Sie über den PHP-Befehl phpinfo() ermitteln. Laden Sie dazu einfach unser vorgefertigtes PHP-Script herunter, das Sie dann per (S)FTP im gewünschten Webspace-Verzeichnis ablegen und dort über Ihren Web-Browser aufrufen (z.B. http://meine-domain.de/info.php).

PHP 7.1 verfügbar

Freitag, Dezember 2nd, 2016

Auf unseren Webservern steht ab sofort die heute (02.12.2016) neu erschienene PHP-Version 7.1 zur Verfügung.

Vorteile von PHP 7.1

Bei der Entwicklung von PHP 7.1 wurden hauptsächlich kleinere Verbesserungen und Funktionserweiterungen vorgenommen. Für Endanwender interessant sind die möglichen Performance-Steigerungen durch den Wechsel auf PHP 7.1, diese belaufen sich auf bis zu 10% verglichen mit PHP 7.0.

Unterschiede zu PHP 7.0

Eine Übersicht über die Änderungen im Vergleich zur Vorgängerversion PHP 7.0 finden Sie hier. Grundsätzlich fallen die Unterschiede relativ gering aus, dennoch kann es bei einigen Anwendungen zu Kompatibilitätsproblemen kommen. So gibt es beispielsweise noch einige Probleme mit WordPress und PHP 7.1, die mit der voraussichtlich am 6.12. erscheinenden WordPress-Version 4.7 behoben werden.

PHP 7.1 aktivieren

Sie können PHP 7.1 für Ihre Webseiten wie üblich per .htaccess-Datei mittels folgender Direktive aktivieren:

AddHandler application/x-httpd-php71 .php

PHP 7.1 RC6 verfügbar

Dienstag, November 15th, 2016

Auf unseren Webservern steht ab sofort der neueste und voraussichtlich letzte Release Candidate von PHP Version 7.1 zu Testzwecken zur Verfügung. Bitte beachten Sie, dass es sich noch um eine Vorabversion handelt, die nicht für den Produktiveinsatz gedacht ist. Sofern keine unerwarteten Probleme auftreten, wird PHP 7.1 planmäßig gegen Ende dieses Monats erscheinen.

Sie können PHP 7.1 wie üblich per .htaccess-Datei mittels folgender Direktive aktivieren:
AddHandler application/x-httpd-php71 .php

Eine Übersicht über die Änderungen im Vergleich zu Version 7.0 finden Sie hier. Da die Unterschiede zwischen Version 7.0 und 7.1 sehr gering sind, funktionieren die meisten zu PHP 7.0 kompatiblen Anwendungen auch problemlos mit PHP 7.1. Bei einigen bekannten PHP-Anwendungen wie z.B. WordPress können jedoch noch Probleme auftreten, für diese Anwendungen werden demnächst Updates erscheinen, um diese Probleme zu beheben.

Beim Umstieg von PHP 7.0 auf 7.1 sind keine so großen Performance-Sprünge wie beim Umstieg von Version 5.6 auf 7.0 zu erwarten, wir konnten in ersten Tests immerhin eine bis zu 10% höhere Ausführungsgeschwindigkeit im Vergleich zur Vorgängerversion feststellen.

PHP 5.5 End of Life

Freitag, Juli 22nd, 2016

Mit der gestern (21.07.) veröffentlichten PHP-Version 5.5.38 wird die Unterstützung des Versionszweiges 5.5 von den PHP-Entwicklern eingestellt, es wird keine weiteren Updates (z.B. wegen Sicherheitslücken) für diese PHP-Version mehr geben. Wir empfehlen daher allen Kunden, die gegenwärtig noch PHP 5.5 nutzen, auf die neueren PHP-Versionen 5.6 oder 7.0 zu wechseln. Beim Wechsel von PHP 5.5 auf 5.6 treten nur in sehr selten Fällen Kompatibiltätsprobleme auf, da es keine großen Unterschiede zwischen beiden Versionen gibt. Bei PHP 7.0 wurden viele veraltete Bibliotheken und Funktionen entfernt, so dass hier häufiger Kompatibilitätsprobleme auftreten. Die PHP-Versionen 5.6 und 7.0 werden noch bis Ende 2018 mit regelmäßigen Sicherheitsupdates versorgt.

Sie können die auf Ihrem Webserver standardmäßig genutzte PHP-Version mittels SSH über den Shell-Befehl php -v oder der PHP-Funktion phpinfo() ermitteln. Mittels dieser Funktion können Sie auch prüfen, ob die Umstellung Ihrer Webseite auf eine andere PHP-Version erfolgreich war. Erstellen Sie dazu im gewünschen Webspace-Verzeichnis eine Textdatei mit der Endung .php (z.B. info.php) und dem Inhalt <?php phpinfo(); ?> und rufen diese Datei dann über Ihren Web-Browser auf (z.B. www.domain.de/info.php).

Eine Anleitung zum Wechsel der PHP-Version finden Sie hier. Falls Sie PHP-FPM nutzen, können Sie diese PHP-Version nicht selbst ändern, wenden Sie sich in diesem Fall bitte an unsere Kundenbetreuung.

Aufgrund möglicher Kompatibilitätsprobleme können wir die standardmäßig genutzte PHP-Version auf dem Webservern nicht einfach auf 5.6 oder 7.0 umstellen, da in diesem Fall bestehende Webseiten unter Umständen nicht mehr funktionieren.

Probleme mit ownCloud und PHP 7

Sonntag, Mai 1st, 2016

Gegenwärtig gibt es ein Problem mit ownCloud und der aktuellen PHP-Version 7.0.6, die wir am 29.04. auf allen Webservern installiert haben. Betroffen sind ausschließlich Kunden, die PHP 7 manuell über eine .htaccess-Konfigurationsdatei aktiviert haben. Unter PHP 7 wird beim Aufruf der ownCloud-Seite die Fehlermeldung „Interner Serverfehler“ angezeigt. Die Ursache ist ein Programmierfehler in ownCloud, der bei den vorigen PHP-Versionen noch keine Auswirkungen hatte.

Die einfachste Lösung für dieses Problem ist die ältere PHP-Version 5.6 zu nutzen, bis der Fehler durch ein ownCloud-Update behoben wird. Eine Anleitung zur Auswahl der PHP-Version finden Sie hier.

Falls Sie weiterhin PHP 7 nutzen möchten, muss die PHP-Datei „request.php“ im ownCloud-Unterverzeichnis „lib/private/appframework/http“ angepasst werden. Sie können diese Datei per (S)FTP herunterladen oder direkt auf dem Webserver mit einem Texteditor bearbeiten. Suchen Sie nach der Zeile „public function __isset($name) {“ und fügen dort die folgenden 3 grün markieren Zeilen hinzu:

    public function __isset($name) {
        if (in_array($name, $this->allowedKeys, true)) {
            return true;
        }
        return isset($this->items['parameters'][$name])
    }

Update vom 02.05.2016: Wir haben bei allen von uns für Kunden installierten Owncloud-Instanzen die entsprechenden Änderungen vorgenommen.

Mögliche Probleme mit Apache 2.4.17 und mod_rewrite

Montag, Oktober 19th, 2015

Wir haben am 15.10. ein Update der Webserver-Software Apache von Version 2.4.16 auf 2.4.17 vorgenommen, dabei hat sich eine unerwartete Änderung im Modul mod_rewrite ergeben, die zu Problemen mit einigen PHP-Anwendungen (z.B. Concrete5) führen kann: Die Server-Variable „REDIRECT_URL“ wurde von einer relativen URL (z.B. „/kapitel/2/“) auf eine vollständige URL (z.B. „http://www.domain.de/kapitel/2/“) umgestellt, daher könnten PHP-Scripte, die auf diese Variable zurückgreifen, unter Umständen nicht mehr korrekt funktionieren.

Falls Sie seit dem 15.10. Probleme mit Ihrer Webseite festgestellt haben, die zuvor nicht aufgetreten sind, wenden Sie sich bitte an unsere Kundenbetreuung.

PHP 7 RC 3 verfügbar

Donnerstag, September 17th, 2015

Ab sofort steht auf unseren Webservern der aktuelle Release Candidate 3 von PHP 7 zu Testzwecken zur Verfügung.

Wir haben dabei eine für viele Kunden interessante Neuerung hinzugefügt, und zwar einen Datei-basierten PHP-Beschleuniger.

Hintergründe zu PHP-Beschleunigern

PHP ist eine Script-Sprache, die vor der Ausführung auf unseren Webservern in für Computer verständlichen Mikroprozessor-Code übersetzt werden muss. PHP nutzt dabei (ähnlich wie Java) eine sogenannte Virtuelle Maschine, es wird also nicht direkt Mikroprozessor-Code erzeugt, sondern zunächst sogenannter Bytecode für eine Virtuelle Maschine (Zend Engine), die daraus dann im nächsten Schritt Mikroprozessor-Code erzeugt und diesen ausführt.
Dieser Bytecode wird jedoch nach der Ausführung eines PHP-Scripts verworfen, und muss jedes Mal zeitaufwändig neu generiert werden. Um dies zu vermeiden gibt es diverse PHP-Beschleuniger wie den PHP-eigenen OpCache, die den Bytecode für spätere Script-Aufrufe optimieren und zwischenspeichern. Allerdings wurde dieser Bytecode bisher immer im Arbeitsspeicher abgelegt, was auf unseren Shared-Hosting-Servern aus technischen Gründen nicht funktioniert, und nur in den Pro-Paketen (bzw. auf Dedicated-Servern) mit PHP-FPM möglich ist.

Seit PHP 7 kann der PHP OpCache den Bytecode optional auch in Dateien speichern, damit lässt er sich auf allen Shared-Hosting-Servern nutzen.

Wir haben anhand einer aktuellen WordPress-Installation die möglichen Performance-Verbesserungen durch OpCache getestet (Mittelwert über 100 Aufrufe):

opcache-file-small

Im Vergleich zu PHP 5.6 ohne OpCache verkürzt sich die PHP-Ausführungszeit für die WordPress-Startseite um Faktor 2, der Datei-OpCache lohnt sich also wirklich.

PHP 7 und OpCache aktivieren

Um PHP 7 mit OpCache zu nutzen, erstellen Sie zunächst ein Verzeichnis für die Bytecode-Dateien auf Ihrem Webserver. Dieses Verzeichnis können Sie beliebig benennen (z.B. „opcache“), und an beliebiger Stelle in Ihrem Benutzerverzeichnis anlegen, die Zugriffsrechte sollten jedoch aus Sicherheitsgründen auf Ihren Benutzeraccount beschränkt werden (chmod 700).

Legen Sie dann im gewünschten Webserver-Verzeichnis eine .htaccess-Datei mit folgendem Inhalt an (bzw. fügen Sie folgende Zeile zu einer bestehenden .htaccess-Datei hinzu):

AddHandler application/x-httpd-php70 .php

Anschließend legen Sie in diesem Verzeichnis eine php.ini-Datei mit folgendem Inhalt an (bzw. fügen die folgenden Zeilen zu einer bestehenden php.ini-Datei hinzu):

zend_extension=/vrmd/webserver/php70/lib/opcache.so
opcache.file_cache=/homepages/u12345/opcache
opcache.file_cache_only=1

Ersetzen Sie dabei „/homepages/u12345/opcache“ durch den vollständigen Pfad zu Ihrem Bytecode-Verzeichnis. Beachten Sie bitte, dass php.ini-Dateien nur in dem Verzeichnis gelten, wo auch das aufgerufene PHP-Script liegt, eventuell müssen Sie diese Datei daher noch in weitere Unterverzeichnisse kopieren.

Hinweis

Bitte beachten Sie, dass sich PHP 7 noch in der Entwicklungsphase befindet, es können noch diverse kleinere Fehler und Probleme auftreten. Sie sollten PHP 7 daher besser noch nicht für kritische Webseiten einsetzen.