А тут привалило "счастье", поправить сайтик переехавший с одного хостинга на PHP 5.2 (он на нем родился) более шустрый, но уже на PHP 5.6.
Вы догадались о чем я ?
Именно об этом - Передача по ссылке / Passing by Reference :
В вызове функции отсутствует знак ссылки - он есть только в определении функции. Этого достаточно для корректной передачи аргументов по ссылке. Начиная с PHP 5.3.0, вы можете получить предупреждение о том, что передача переменной по ссылке устарела, если используете & в foo(&$a);. Начиная с PHP 5.4.0 передача переменной по ссылке стала невозможна, поэтому использование этого приема приведет к фатальной ошибке.
There is no reference sign on a function call - only on function definitions. Function definitions alone are enough to correctly pass the argument by reference. As of PHP 5.3.0, you will get a warning saying that "call-time pass-by-reference" is deprecated when you use & in foo(&$a);. And as of PHP 5.4.0, call-time pass-by-reference was removed, so using it will raise a fatal error.
Более детально можете прочесть по этой ссылочке - http://php.net/manual/en/language.references.pass.php
Далее обнаружил неприятную особенность у xampp сборочки - она даже в log не пишет fatal error'ы, а втыкать брейк-поинты устал.
Соорудил себе вот такой php файлик:
<?php
set_error_handler("myErrorHandler");
register_shutdown_function("myShutdownHandler");
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
echo "<div style='font:normal 11px/15px verdana,tahoma,arial;padding:5px;color:#f00;border:1px solid #f00;margin:5px 1px;'>";
echo "Line #<b>".$errline."</b> in file [<b>".$errfile."</b>]<br>ErrNo:[<b>".$errno."</b>] ErrStr:[<b>".$errstr."</b>]\n";
echo "<div>";
}
function myShutdownHandler()
{
echo "<div style='font:normal 11px/15px verdana,tahoma,arial;background:#f11;padding:10px;color:#fff;border:0px solid #fff;box-shadow:1px 1px 5px #300;margin:5px;'><xmp>";
print_r(error_get_last());
echo "</xmp><div>";
}
?>
set_error_handler("myErrorHandler");
register_shutdown_function("myShutdownHandler");
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
echo "<div style='font:normal 11px/15px verdana,tahoma,arial;padding:5px;color:#f00;border:1px solid #f00;margin:5px 1px;'>";
echo "Line #<b>".$errline."</b> in file [<b>".$errfile."</b>]<br>ErrNo:[<b>".$errno."</b>] ErrStr:[<b>".$errstr."</b>]\n";
echo "<div>";
}
function myShutdownHandler()
{
echo "<div style='font:normal 11px/15px verdana,tahoma,arial;background:#f11;padding:10px;color:#fff;border:0px solid #fff;box-shadow:1px 1px 5px #300;margin:5px;'><xmp>";
print_r(error_get_last());
echo "</xmp><div>";
}
?>
И при необходимости делаю инлуд его в нужном/соответствующем месте и имею ту инфу которую скрывает от меня @ - оператор подавления ошибок/предупреждений.
возможно у Вас отключен javascript, если включен - просто обновите страницу