• Webdesign, WebhostingWebdesign, Webhosting, Internet - sketch

Gerne möchten wir darüber informieren, wie es mit der Versionsentwicklung für die serverseitige Skriptsprache PHP weitergeht. Aktuelle Websites prüfen wir zeitnah auf die notwendige Kompatibilität. PHP-Version 5.4 sollte ab dem 14.09.2015 bei aktuellen Projekten Geschichte sein!

PHP: Umstellung der Standard-Version und Deaktivierung der PHP-Versionen 5.4 und 5.5

Aus einer E-Mail des schweizer Webhosters Hostpoint geht hervor, dass die schweizer Provider bereits die Ablösung der PHP-Versionen 5.4 und 5.5 einleiten:

"PHP wird die Unterstützung der ältesten Version 5.4 am 14. September 2015 einstellen. Ab diesem Datum wird das PHP-Team keine offiziellen Sicherheitsupdates mehr veröffentlichen. Da es sich dabei um eine sehr verbreitete Version handelt, werden wir bei Hostpoint die Version 5.4 noch bis Ende März 2016 weiter betreiben. Die Laufzeit von PHP 5.5 endet voraussichtlich im Juni 2016."

Sicherheitslücken zeitnah schließen durch Umstellung auf PHP-Version 5.6

Sobald eine Version nicht mehr supportet wird, heißt das gleichzeitig, dass Vorsicht geboten ist. Wenn eine PHP-Version nicht weiterentwickelt wird, besteht ab diesem Zeitpunkt keine Garantie, dass Sicherheitslücken geschlossen werden. Die Entwickler veröffentlichen keine Sicherheitspakete mehr für die abgeschlossenen Versionen.

Wem die Sicherheit seiner Website und seiner Daten am Herzen liegt, sollte folglich auf die aktuellsten Versionen setzen.

Wann ist welche PHP-Version sinnvoll?

Bei dieser Frage sollten zunächst die offiziellen Aussagen des PHP-Entwicklerteams berücksichtigt werden.

Auf der Website php.net/supported-versions.php kann man die offiziellen Supportzeiten und -versionen nachschlagen.

Hier die 3 aktuell betroffenen Versionen:

PHP Version 5.4

Veröffentlicht am 01.03.2012
Aktiver Support bis 14.09.2014
Sicherheits­updates bis 14.09.2015

PHP Version 5.5

Veröffentlicht am 20.06.2013
Aktiver Support bis 10.07.2015
Sicherheits­updates bis 10.07.2016

PHP Version 5.6

Veröffentlicht am 28.08.2014
Aktiver Support bis 28.08.2016
Sicherheits­updates bis 28.08.2017

Umstellung auf die sinnvollste PHP-Version

Wir verfolgen folgendes Ziel bei der Umstellung der PHP-Version:

  • Höchstmögliche PHP-Version bei stabiler Kompatibilität

Für die Prüfung der Website bedeutet das Folgendes:

  • Umstellung der Website auf PHP 5.6
  • Wenn Probleme bestehen sollten, dann wählt man PHP Version 5.5
  • Wenn für PHP Version 5.5 Anpassungen notwendig sein sollten, sind diese dringend zu empfehlen, da ohne die Anpassungen auf die veraltete PHP Version 5.4 zurückgegriffen werden müsste

Wer zukunftsorientiert ist und auf längerfristigen Support setzen möchte, sollte seine Website gleich auf 5.6 umstellen. Wie in der Tabelle oben zu sehen ist, erstreckt sich der Sicherheitssupport bis August 2017.

Welche PHP-Funktionen sind vom Update betroffen?

Hierzu kann man ebenfalls auf der Website von php.net recherchieren. Um rauszufinden, welche Funktion in PHP 5.6 nicht mehr zur Verfügung steht, müssen die "deprecated" (=veralteten) Funktionen aus den vorhergehenden Versionen ermittelt werden. Wenn eine Funktion beispielsweise in PHP-Version 5.3 als "deprecated" markiert wird, ist diese in der Regel in der nächsten Version 5.4 nicht mehr vorhanden. Das verschafft den Entwicklern immer eine Versionsrunde Zeit, die Skripte nachzuarbeiten und zu aktualisieren.

Ein Beispiel bei einer Umstellung von PHP-Version 5.3 auf PHP-Version 5.6:
Wie oben erläutert, müssen die "deprecated functions" aus den vorhergehenden Versionen 5.3 - 5.5 identifiziert werden. Folgende Funktionen müssten gegebenenfalls aus den aktuellen Websites entfernt werden, um eine Kompatibilität mit PHP-Version 5.6 herzustellen:

Deprecated Functions in PHP-Version 5.3

Ini-Direktive

  • Kommentare, die mit "#" gekennzeichnet sind
  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase

Funktionen

  • call_user_method()
  • call_user_method_array()
  • define_syslog_variables()
  • dl()
  • ereg(), ereg_replace()
  • eregi(), eregi_replace()
  • set_magic_qoutes_runtime()
  • session_register(), session_unregister()
  • session_is_registered()
  • set_socket_blocking()
  • split(), spliti()
  • sql_regcase()
  • mysql_db_query()
  • mysql_escape_string()
  • der Parameter is_dst für die mktime() Funktion

Deprecated Functions in PHP-Version 5.4

Funktionen

  • mysql_list_dbs()
  • get_magic_qoutes_gpc()
  • get_magic_qoutes_runtime()
  • mcrypt_generic_end()

Deprecated Functions in PHP-Version 5.5

Erweiterungen

  • Die MySQL-Erweiterung wird als deprecated markiert! (benötigt in 5.6: MySQLi)

Funktionen

  • preg_replace()
  • mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mcrypt_ofb()

Wir unterstützen Sie bei der Prüfung Ihrer Website und ggf. bei der Anpassung Ihrer Programme!