Хотя большая часть существующего кода на PHP 5 должна работать без изменений, нужно обратить внимание на следующие нарушения обратной совместимости:
NULL, если переданы
     несовместимые аргументы, начиная с PHP 5.2.1.
    
   TRUE при удачном выполнении, начиная с PHP 5.2.1.
    
   TRUE при удачном выполнении, начиная с PHP 5.2.1.
    
   FALSE.
     Начиная с PHP 5.2.0 эта операция вызовет E_WARNING,
     как и в любом другом случае деления на 0.
    
    
<?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
/* При allow_url_include равной OFF (по умолчанию) */
include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
/* Warning:  include(): URL file-access is disabled
   in the server configuration in filename on line n */
?>
FALSE, если нарушены ограничения
     openbase_dir.