only variables can be passed by reference

  • Автор темы Автор темы Labutin
  • Дата начала Дата начала

Labutin

Новичок
only variables can be passed by reference

PHP 4.4.9
Скомпилирован лично.
В коде во многих местах есть конструкция:
вызов
$partsManager->setDataBase($system->getDataBase());

метод
function setDataBase ( &$dataBase )
{
$this->_dataBase = $dataBase;
}
Все работало много лет. Вдруг внезапно сегодня полезли Warning'и
only variables can be passed by reference
Согласен, что warning в принципе имеет право быть.
Суть вопроса в том - ПОЧЕМУ его не было раньше? Сам PHP никто не менял (я админ на сервере). php.ini не правили.
Не понимаю, что за аномалия?! :( Как такое может быть?
 
еще один геронтофил подтянулся...

если тебе ТОЛЬКО нужно передать объект по ссылке (что следует из твоего кода), то поставь php 5, он всегда передает объекты по ссылкам
 
переход на php5 планируется - там есть места, которые просто так не заработали :(
вопрос не в том, как побороть, а в том, что такое произошло?
 
Labutin, ну кто же кроме тебя может и будет разбирать в том, что за ископаемая версия была у тебя и какие изменения произошли в 4.4.9 по сравнению с ней?
 
error_reporting(E_ALL) стоит с самого зарождения этого сайта
сайт написан так, что даже нет ни одного Notice
 
Labutin
минус вам, уважаемый, на работающих сайтах (продакшн версия) это недопустимо.

Если нет желания видеть варнинги, но все работает - отключи ошибки, и скорее мигрируй на ветку php5
 
Автор оригинала: damngood
Labutin
минус вам, уважаемый, на работающих сайтах (продакшн версия) это недопустимо.
это тебе минус! на продакшене error_reporting должен быть такой же, а вот display_errors должен быть равен нулю, и вместо этого писать ошибки в лог
 
Сверху