Si bien la mayoría del código PHP 5 existente debería funcionar sin necesidad de hacer ningún cambio, debe prestarse atención a las siguientes incompatibilidades con versiones anteriores:
NULL cuando se pasan argumentos
     incompatibles a partir de PHP 5.2.1.
    
   TRUE en caso de éxito a partir de PHP 5.2.1.
    
   TRUE en caso de éxito a partir de PHP 5.2.1.
    
   FALSE.
     A partir de PHP 5.2.0, esta operación emitirá un E_WARNING,
     así como en todos los casos donde se realize una división por cero.
    
    
<?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 cuando se violan las restricciones openbase_dir.