it-swarm.com.ru

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

Мой сервер работает под управлением php 5.3, и моя установка WordPress выкладывает на меня эти ошибки, что приводит к сбою my 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.

116
atwellpub

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

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

или же

error_reporting(E_ALL ^ E_DEPRECATED);
190
Robus

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

error_reporting = E_ALL & ~E_DEPRECATED
22
Simon H

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

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

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

19
codefreak

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

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

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

13
sudip

Я только что столкнулся с подобной проблемой, когда плагин 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, но я думаю, что это работает для каждой установки. 

10
Camaleo

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

define('WP_DEBUG', false);

Это для WordPress 3.x

8
Audrius

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

error_reporting = E_ALL

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

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

error_reporting(E_ALL ^ E_DEPRECATED); 
6
Kreker

Я склонен использовать этот метод 

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

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

1
realtebo

Просто замените приведенный ниже код в файле wp-config.php 

define ('WP_DEBUG', true); определить ('WP_DEBUG', true);

0
Mehul Soni