Я использую Joomla v1.5, и после установки тех же компонентов я получил устаревшие сообщения – как я могу отключить эти сообщения в Joomla? Я не могу отключить его в php.ini, потому что у меня нет доступа к php на сервере.
Поместите файл index.php после define( '_JEXEC', 1 );
этой строки define( '_JEXEC', 1 );
, это утверждение:
error_reporting(0);
или, как говорит pderaaij , используйте:
error_reporting(E_ALL ^ E_DEPRECATED);
По его словам,
Таким образом отображаются все другие ошибки, кроме устаревших сообщений.
Идеальное решение – установить глобальный параметр конфигурации «Отчеты об ошибках» на «Нет» или «Системный по умолчанию», а затем установить «системный по умолчанию» с помощью файла .htaccess в корневом каталоге веб-узла или в httpd / apache conf.
Чтобы установить значение в файле .htaccess, вы можете использовать:
php_value error_reporting 22527
(вы можете проверить это значение, используя php: echo E_ALL ^ E_DEPRECATED;
)
Ответ AurelioDeRosa предлагает «взломать» (!) Ядро Joomla. Как указано в моем комментарии, размещение error_reporting в нескольких местах внутри кода является плохой практикой, поскольку в идеале это нужно только установить один раз. Код ядра Joomla 1.5 устанавливает значение error_reporting как правильно настроенное в глобальной конфигурации.
Я добавил следующее в файле .htaccess в joomla:
php_value allow_call_time_pass_reference 1
и это работало как шарм. благодаря
Я добавил это в начале index.php, и он исправил это:
ini_set('display_errors','Off'); error_reporting(E_ALL ^ E_DEPRECATED);
Спасибо Aurelio De Rosa
Вы можете попробовать добавить index.php
ini_set('allow_call_time_pass_reference', 1);
или к .htaccess
php_value allow_call_time_pass_reference 1
Но это зависит от того, что вызывает проблему, а также от конфигурации сервера, если вам разрешено изменять конфигурацию php.