Отключить устаревшие ошибки PHP 5.3

96

На моем сервере запущен php 5.3, и My wordpress install выплевывает эти ошибки из-за того, что мой session_start() прерывается.

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 647

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 662

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 669

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 676

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 712

Это раздражает, но я не хочу отключать отчет об ошибках экрана. Как отключить эти назойливые устаревшие предупреждения?

Я запускаю Wordpress 2.9.2.

  • 0
    Разве 3.3.1 не является актуальной версией WordPress?
  • 0
    он, кажется, любит старый PHP со старой WordPress
Теги:
deprecation-warning

9 ответов

164
Лучший ответ

Вы можете сделать это в коде, вызвав следующие функции.

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

или

error_reporting(E_ALL ^ E_DEPRECATED);
  • 0
    Спасибо, Робус, это также убьет сообщения об ошибках php?
  • 6
    Нет, первый в основном говорит php показать ошибки ERROR / WARNING / PARSE / NOTICE, второй говорит php, чтобы показать все ошибки, кроме DEPRECATED.
Показать ещё 4 комментария
21

Мне нужно было адаптировать это к

error_reporting = E_ALL & ~E_DEPRECATED
17

Чтобы только получить ошибки, они заставляют приложение перестать работать:

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING | E_DEPRECATED));

Это прекратит показывать предупреждения, предупреждения и устаревшие ошибки.

14

Все приведенные выше ответы верны. Поскольку никто не намекал, как отключить все ошибки в php, я хотел бы упомянуть его здесь:

error_reporting(0); // Turn off warning, deprecated, 
                    // notice everything except error

Кто-нибудь может найти это полезным......

  • 0
    Это плохая идея ...
9

Я столкнулся с аналогичной проблемой, когда плагин SEO выпустил большое количество предупреждений, делающих использование моего блогового диска выше предела плана.

Я выяснил, что вы должны включать команду error_reporting после, которую требуется wp-settings.php в файле wp-config.php:

   require_once( ABSPATH .'wp-settings.php' );
   error_reporting( E_ALL ^ ( E_NOTICE | E_WARNING | E_DEPRECATED ) );

делая это, в файл журнала ошибок добавляется больше предупреждений, уведомлений и устаревших строк!

Протестировано в WordPress 3.8, но я думаю, что он работает для каждой установки.

  • 0
    Хорошо, это решает проблему
7

В файле wp-config.php вы можете найти константу WP_DEBUG, убедитесь, что она установлена ​​в false.

define('WP_DEBUG', false);

Это для wordpress 3.x

  • 0
    благодарю вас. это был дополнительный шаг, который мне был нужен.
6

Вам нужно отредактировать файл конфигурации php. Завершите линию

error_reporting = E_ALL

и заменить на  error_reporting = E_ALL ^ E_DEPRECATED

Если у вас нет доступа к файлу конфигурации, вы можете добавить эту строку в файл wordpress php (возможно, headers.php)

error_reporting(E_ALL ^ E_DEPRECATED); 
  • 0
    Гораздо лучше добавить это в wp-config.php . Он предназначен для редактирования с настройками конфигурации.
1

Я использую этот метод

$errorlevel=error_reporting();
$errorlevel=error_reporting($errorlevel & ~E_DEPRECATED);

Таким образом, я не выключаю случайно что-то мне нужно

  • 1
    Это дает вам меньше контроля. Вы предполагаете, что все, что сейчас настроено, правильно. Лучше установить его напрямую по мере необходимости, чтобы у вас не было перекрывающихся конфигураций.
  • 0
    Понимаю. Каждый случай индивидуален.
0

эта ошибка возникает при изменении вашей версии php: она очень проста для подавления этого сообщения об ошибке

Чтобы подавить сообщение DEPRECATED Error, просто добавьте ниже код в файл index.php:

init_set ( 'display_errors', False);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню