Due to an implementation bug, the declare(ticks=1) directive leaked into different compilation units prior to PHP 7.0. This is not how declare() directives, which are per-file or per-scope, are supposed to work.
Therefore there are different implementations between PHP 5.6 and the correct implementation has been added in PHP 7.0. This means the below script will return different results
#index.php
<?php
declare(ticks=1);
$count = 0;
register_tick_function('ticker');
function ticker() {
global $count;
$count++;
}
?>
#inc.php
<?php
$baz = "baz";
$qux = "qux";
?>
Running php index.php in the terminal gives:
PHP 5.6 - 7
PHP 7.0 - 5