Ответ 1
Вам нужно изменить:
wp-config.php
и измените следующее:
error_reporting(0);
@ini_set('display_errors', 0);
иначе Wordpress перезаписывает ALERTS, заданный PHP.INI
Я знаю о error_reporting(0);
и ini_set('display_errors', false);
, но в wordpress появляется уведомление:
Примечание. Преобразование массива в строку в /var/www/vhosts/treethink.net/subdomains/parkridge/httpdocs/wp-includes/formatting.php в строке 359 >
он отображается только в wordpress, а не на других страницах сайта.
Я проверил phpinfo()
, и все настроено так, чтобы ошибки не отображались. Почему это еще отображается?
Вот строка, которая генерирует ошибку:
function wp_check_invalid_utf8( $string, $strip = false ) {
$string = (string) $string;
Я кое-что изменил в wordpress, чтобы изменить работу галереи. Но не эта функция, и я не думаю, что я изменил любые вызовы к этой функции. Помимо появляющегося уведомления все работает отлично, мне просто нужно скрыть эту ошибку.
Вам нужно изменить:
wp-config.php
и измените следующее:
error_reporting(0);
@ini_set('display_errors', 0);
иначе Wordpress перезаписывает ALERTS, заданный PHP.INI
В wp-config.php добавьте эту строку:
define('WP_DEBUG_DISPLAY', false);
Это позволит или отключает отображение уведомлений и предупреждений на странице. Существует более подробное описание этого параметра и некоторые связанные с ним варианты:
Январь 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/
если вы хотите скрыть только ошибки, которые исходят от этой функции, вы можете использовать
@function wp_check_invalid_utf8( $string, $strip = false )
{
}
В большинстве случаев им не о чем беспокоиться (хотя разработчик плагина/темы должен знать об этом, чтобы они могли исправить их в будущей версии). Предупреждения и уведомления 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:
/**
* 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.