Как я могу предотвратить появление уведомлений PHP в WordPress? - PullRequest
26 голосов
/ 20 августа 2009

Я знаю о error_reporting(0); и ini_set('display_errors', false);, но в WordPress появляется уведомление:

Примечание: преобразование массива в строку в / var / www / vhosts / treethink.net / поддоменах / parkridge / httpdocs / wp-includes / formatting.php в строке 359

it only появляется в WordPress, но не на других страницах сайта.

Я проверил phpinfo(), и все настроено так, что ошибки не отображаются. Почему этот все еще появляется?

Вот строка, которая генерирует ошибку:

function wp_check_invalid_utf8( $string, $strip = false ) {
    $string = (string) $string;

Я сделал изменить что-то в WordPress, чтобы изменить работу галереи. Но не эту функцию, и я не думаю, что я также изменил какие-либо вызовы этой функции. Помимо появившегося уведомления все работает нормально, мне просто нужно скрыть эту ошибку.

Ответы [ 6 ]

51 голосов
/ 21 августа 2009

Вам необходимо отредактировать ваш:

wp-config.php

файл и измените следующее здесь:

error_reporting(0);
@ini_set('display_errors', 0);

в противном случае Wordpress перезаписывает ALERTS, установленные PHP.INI

9 голосов
/ 17 января 2015

Январь 2015 с последней версией Wordpress, ни один из вышеперечисленных не работает для меня.

Создание php-файла в папке mu-plugins Wordpress работало, например:

<?php
error_reporting(E_ALL &  ~( E_NOTICE | E_USER_NOTICE | E_STRICT | 
E_DEPRECATED | E_USER_DEPRECATED | E_WARNING | E_CORE_WARNING | 
E_USER_WARNING | E_COMPILE_WARNING | E_PARSE )); 

Просто назови это как хочешь ...

я получил ответ отсюда:

https://wycks.wordpress.com/2013/12/05/how-to-remove-error-notices-using-wordpresss-wp_debug/

9 голосов
/ 21 сентября 2013

В wp-config.php добавьте эту строку:

define('WP_DEBUG_DISPLAY', false);

Это включит или отключит отображение уведомлений и предупреждений на странице. Полное описание этой опции и некоторые связанные с ней опции можно найти здесь:

http://codex.wordpress.org/Debugging_in_WordPress

1 голос
/ 19 ноября 2016

В большинстве случаев беспокоиться не о чем (хотя разработчик плагинов / тем должен знать об этом, чтобы они могли исправить их в будущем выпуске). Предупреждения и уведомления PHP в большинстве случаев не о чем беспокоиться. Некоторые из них могут быть созданы даже потому, что разработчик должен поддерживать совместимость как со старыми версиями WordPress, так и со старыми версиями PHP.

define('WP_DEBUG', false);

с этим

ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Если вы просто установите для WP_DEBUG значение false в файле wp-config.php , все будет в порядке. Они никак не влияют на ваш сайт.

Однако проблема в том, что иногда вышеописанное не работает. Это может происходить в большинстве случаев на дешевых общих хостах, которые вынуждают отображать предупреждения и уведомления PHP. В этом случае вы можете заменить эту строку из вашего файла wp-config.php:

1 голос
/ 21 сентября 2013

если вы хотите скрыть только ошибки, возникающие из этой функции, вы можете использовать

@function wp_check_invalid_utf8( $string, $strip = false )
{

}
0 голосов
/ 02 апреля 2015
/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define('WP_DEBUG', false);

// Enable Debug logging to the /wp-content/debug.log file
define('WP_DEBUG_LOG', false);

// Disable display of errors and warnings 
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Что я использую, и это работает с последней версией WordPress.

...