Иногда, на некоторых скриптах может возникать ошибка
Call-time pass-by-reference has been deprecated - argument passed by value. Например, это бывает в компоненте VFM:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c:\aserver\www\rulez\joomla\administrator\components\com_vfm\admin.vfm.php on line 41
На самом деле это даже не ошибка, а просто предупреждение разработчику о том, что передача аргументов по ссылке во время вызова функции была объявлена устаревшей. Избавиться от этого предупреждения можно тремя способами:
- Отключить отображение Warning'ов
- В конфигурации PHP (файл php.ini) заменить allow_call_time_pass_reference = off
на allow_call_time_pass_reference = on - Исправить непосредственно сам скрипт, убрав в указанной строчке символ & перед именем переменной, передаваемой в какую-либо функцию. Для ошибки, приведенной выше, нужно в файле admin.vfm.php строчку:
if ( !($database->loadObject(&$row)) ) {
заменить на
if ( !($database->loadObject($row)) ) {
Ну и далее — по аналогии.