Cu toate că codul-sursă existent în PHP 5 trebuie să funcționeze fără schimbări, ar trebui să atrageți atenția la următoarele schimbări incompatibile în sens invers:
NULL când îi sunt transmise
argumente incompatibile începând cu PHP 5.2.1.
TRUE în caz de
succes începând cu PHP 5.2.1.
TRUE în caz de
succes începând cu PHP 5.2.1.
FALSE. Începând cu PHP 5.2.0 această operație va emite un
E_WARNING, după cum e cazul și în orice altă
situație când se efectuează împărțirea la zero.
<?php
print 10 % 0;
/* Warning: Division by zero in filename on line n */
?>
<?php
class foo {}
$foo = new foo;
print $foo;
/* Catchable fatal error: Object of class foo could
not be converted to string in filename on line n */
?>
<?php
class foo {
public function __toString() {
throw new Exception;
}
}
try {
print new foo;
/* Fatal error: Method foo::__toString() must
not throw an exception in filename on line n */
} catch(Exception $e) {}
?>
<?php
abstract class foo {
abstract static function bar();
/* Strict Standards: Static function foo::bar()
should not be abstract in filename on line n */
}
?>
<?php
/* when allow_url_include is OFF (default) */
include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
/* Warning: include(): URL file-access is disabled
in the server configuration in filename on line n */
?>
FALSE când restricțiile
openbase_dir sunt încălcate.