2004

2021

17 Jahre
  • Wir bieten Ihnen professionelles und zuverlässiges WebHosting...
  • Einen ausgezeichneten Computer-Service...
  • Wie legen Sie Ihre Daten oder Ihre Sicherungen ab?

Migration der PHP Version: PHP Versionen Inkompatibilitäten

Schritt 1:

ACHTUNG:

Diese Informationen sind NICHT vollständig und sollen nur als Hilfe dienen, eigene Scripte an die neuen PHP Versionen anzupassen.

Bitte beachten Sie, dass wir dazu keine Hilfestellung leisten können und dies nur von Programmierern durchgeführt werden sollte.

Sollten Sie Software von einem Hersteller verwenden, fragen Sie bitte bei diesem nach, ob es ein Update der Software gibt. Wir empfehlen nicht, solche Software selbst umzuschreiben.

 


 

Schritt 2:

Inkompatibilitäten PHP 5.2 auf PHP 5.3

clearstatcache()
es wird nicht mehr standardmäßig der REALPATH CACHE gelöscht, dies muss mit dem Parameter true angegeben werden: clearstatcache( true );
https://secure.php.net/manual/de/function.clearstatcache.php

 

realpath()
gibt nun betriebssystemunabhängig den vollständigen Dateipfad aus, d.h ungültige, relative Pfade __FILE__ . "/../x" funktionieren nicht mehr
https://secure.php.net/manual/de/function.realpath.php

 

natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip(), array_unique()
es können keine Objekte mehr übergegeben werden, das Objekt muss erst in ein Array umgewandelt werden.
Fehlermeldung: Warning: array_flip() expects parameter 1 to be array, object given in
https://secure.php.net/manual/de/function.natsort.php
https://secure.php.net/manual/de/function.natcasesort.php
https://secure.php.net/manual/de/function.usort.php
https://secure.php.net/manual/de/function.uasort.php
https://secure.php.net/manual/de/function.uksort.php
https://secure.php.net/manual/de/function.array-flip.php
https://secure.php.net/manual/de/function.array-unique.php

 

das hintere Slash wurde bei der Klasse SplFileInfo und bei allen anderen Verzeichnisklassen entfernt
https://secure.php.net/manual/de/class.splfileinfo.php

 

__toString()
diese magische Methode akzeptiert keine Argumente mehr
Fehlermeldung: Fatal error: Method auto::__tostring() cannot take arguments in
https://secure.php.net/manual/de/language.oop5.magic.php#object.tostring

 

__get(), __set(), __isset(), __unset(), __call()
diese magischen Methoden dürfen nicht mehr statisch und nur noch öffentlich sein ( static public )
Fehlermeldung: Warning: The magic method __call() must have public visibility and cannot be static
https://secure.php.net/manual/de/language.oop5.overloading.php#object.get
https://secure.php.net/manual/de/language.oop5.overloading.php#object.set
https://secure.php.net/manual/de/language.oop5.overloading.php#object.isset
https://secure.php.net/manual/de/language.oop5.overloading.php#object.unset
https://secure.php.net/manual/de/language.oop5.overloading.php#object.call

 

__call() - diese magische Methode kann nun über private und protected Methoden aufgerufen werden
https://secure.php.net/manual/de/language.oop5.overloading.php#object.call

 

func_get_arg(), func_get_args(), func_num_args()
https://secure.php.net/manual/de/function.func-get-arg.php
https://secure.php.net/manual/de/function.func-get-args.php
https://secure.php.net/manual/de/function.func-num-args.php

 

goto, namespace
sind nun reservierte Schlüsselwörter, diese können nicht mehr als Funktions-, Klassen-Namen usw. genutzt werden
Fehlermeldung: Parse error: syntax error, unexpected T_GOTO, expecting T_STRING
https://secure.php.net/manual/de/control-structures.goto.php
https://secure.php.net/manual/de/language.namespaces.php

 

Genauere Informationen zu den Änderungen von PHP5.2 auf 5.3 finden Sie hier:
https://secure.php.net/manual/de/migration53.incompatible.php

 

Außerdem finden Sie hier eine Liste von Variablen und Funktionen, die als veraltet angesehen werden und bald nicht mehr in zukünftigen PHP Versionen erscheinen werden:
https://secure.php.net/manual/de/migration53.deprecated.php

 


 

Schritt 3:

Inkompatibilitäten PHP 5.3 auf PHP 5.4

break, continue
die Anweisungen können nur noch statische Argumente verwenden, variable wie break 1 + foo() sind nicht mehr möglich.
Fehlermeldung: Fatal error: 'break' operator with non-constant operand is no longer supported
https://secure.php.net/manual/de/control-structures.break.php
https://secure.php.net/manual/de/control-structures.continue.php

 

Safe mode
wird generell nicht mehr in PHP 5.4 verwendet
https://secure.php.net/manual/de/features.safe-mode.php

 

Salsa10, Salsa20
diese Hash Alogorithmen wuden komplett entfernt
Fehlermeldung: Warning: hash(): Unknown hashing algorithm: salsa10
https://secure.php.net/manual/de/book.hash.php

 

TZ Umgebungsvariablen
das Setzen der Zeitzone wird nicht länger von der Datum und Uhrzeit Extension unterstützt.
PHP wird nicht länger versuchen die Zeitzone zu erraten, sondern wird statt dessen auf "UTC" zurückfallen.

 

get_magic_quotes_gpc(), get_magic_quotes_runtime()
geben nur noch false zurück, da Magic Quotes entfernt wurde

 

set_magic_quotes_runtime()
erzeugt einen fatalen Fehler ( E_CORE_ERROR )
Fehlermeldung: Fatal error: set_magic_quotes_runtime(): magic_quotes_runtime is not supported anymore
https://secure.php.net/manual/de/function.get-magic-quotes-gpc.php
https://secure.php.net/manual/de/function.get-magic-quotes-runtime.php
https://secure.php.net/manual/de/function.set-magic-quotes-runtime.php

 

es können keine Superglobalen Parameternamen für Funktionen verwendet werden: z.b. function func( $_GET ){}
Fehlermeldung: Fatal error: Cannot re-assign auto-global variable _GET in

 

array_combine()
gibt ein leeres Array zurück anstatt false, wenn zwei leere Arrays übergeben werden
https://secure.php.net/manual/de/function.array-combine.php

 

es dürfen keine Referenzen zur Laufzeit übergeben werden:
function func( &$arc ){} //erlaubt,
test( &$arc ); //Fehler
Fehlermeldung: Fatal error: Call-time pass-by-reference has been removed in
https://secure.php.net/manual/de/language.references.pass.php

 

htmlentities()
wenn asiatische Zeichensätze verwendet werden, gibt es eine Warnung vom Typ E_STRICT
https://secure.php.net/manual/de/function.htmlentities.php

 

trait, callable, insteadof
sind nun reservierte Schlüsselwörter, diese können nicht mehr als Funktions-, Klassen-Namen usw. verwendet werden
Fehlermeldung: Parse error: syntax error, unexpected 'insteadof' (T_INSTEADOF), expecting identifier (T_STRING) or '('
https://secure.php.net/manual/de/language.oop5.traits.php

 

define_syslog_variables(), import_request_variables(), session_is_registered(), session_register(),
session_unregister(), mysqli_bind_param(), mysqli_bind_result(), mysqli_client_encoding(), mysqli_fetch(), mysqli_param_count(), mysqli_get_metadata(), mysqli_send_long_data(), mysqli::client_encoding(),
mysqli_stmt::stmt()
diese Funktionen wurden entfernt
Fehlermeldung: Fatal error: Call to undefined function define_syslog_variables() in

$PHP_SELF
diese Variable wurde nach $_SERVER[ 'PHP_SELF' ] verschoben

$HTTP_POST_VARS, $HTTP_GET_VARS
wurden entfernt, verwenden Sie dafür bitte $_POST und $_GET

 

Genauere Informationen zu den Änderungen von PHP5.3 auf 5.4 finden Sie hier:
https://secure.php.net/manual/de/migration54.incompatible.php

 

Außerdem finden Sie hier eine Liste von Variablen und Funktionen, die als veraltet angesehen werden und bald nicht mehr in zukünftigen PHP Versionen vorhanden sind:
https://secure.php.net/manual/de/migration54.deprecated.php

 


 

Schritt 4:

Inkompatibilitäten PHP 5.4 auf PHP 5.5

Die meisten bestehenden PHP5 Befehle sollten ohne Anpassungen funktionieren. Es gibt allerdings auch kleine Änderungen:

php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), zend_logo_guid()
Funktionen wurden entfernt
Fehlermeldung: Fatal error: Call to undefined function php_logo_guid()

 

Genauere Informationen zu den Änderungen von PHP5.4 auf 5.5 finden Sie hier:
https://secure.php.net/manual/de/migration55.incompatible.php

Außerdem finden Sie hier eine Liste von Variablen und Funktionen, die als veraltet angesehen werden und bald nicht mehr in zukünftigen PHP Versionen vorhanden sind:
https://secure.php.net/manual/de/migration55.deprecated.php

 

Erstellt am: 28.10.2016
War diese Information für Sie hilfreich?

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.