Как убрать ошибки в вордпресс

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

В этом уроке мы покажем, как можно скрыть и отключить отображение PHP ошибок на сайте WordPress.

inet.ws - Powerful VPS around the World!

Как отключить вывод PHP ошибок в WordPress

Смотрите также:

  • WP Security Audit Log — следите за всеми изменениями на вашем сайте WordPress
  • WordPress Changelog — Как узнать, когда с вашим сайтом что-то пошло не так
  • WordPress File Monitor — узнайте, изменялись ли файлы на вашем сайте
  • Как уследить за действиями пользователей и изменениями на WordPress-сайте

Когда и зачем отключать ошибки PHP на WordPress?

PHP ошибки, которые вы можете видеть вверху страницы сайта, как правило являются предупреждениями или уведомлениями. Это далеко не то же самое, что Internal Server Error, Syntax Error или Fatal Error, которые останавливают ваш полностью.

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

Как отключить вывод PHP ошибок в WordPress

Смотрите также:

  • WP Security Audit Log — следите за всеми изменениями на вашем сайте WordPress
  • WordPress Changelog — Как узнать, когда с вашим сайтом что-то пошло не так
  • WordPress File Monitor — узнайте, изменялись ли файлы на вашем сайте
  • Как уследить за действиями пользователей и изменениями на WordPress-сайте

Когда и зачем отключать ошибки PHP на WordPress?

PHP ошибки, которые вы можете видеть вверху страницы сайта, как правило являются предупреждениями или уведомлениями. Это далеко не то же самое, что Internal Server Error, Syntax Error или Fatal Error, которые останавливают ваш полностью.

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

Как отключить вывод PHP ошибок в WordPress

Цель этих предупреждений — дать подсказки разработчику при отладке кода. Разработчики плагинов и тем используют эту полезную информацию в попытках исключить все баги и ошибки в финальной версии.

Но если вы не являетесь разработчиков, эти предупреждения о PHP ошибках должны быть скрыты. Вы же не хотите отпугивать своих посетителей непонятными надписями на белом фоне вверху сайта, верно?

Как отключить вывод PHP ошибок в WordPress

Если вы увидели на своем сайте похожую ошибку, как на картинке выше, вы можете проинформировать разработчика темы или плагина, и они, вероятно, исправят ошибки в новой версии. Но пока это произойдет, вы можете отключить отображение этих ошибок PHP на своем сайте.

Давайте посмотрим, как это можно сделать на WordPress.

Как отключить показ PHP ошибок в WordPress

Для выполнения этой задачи нам потребуется отредактировать файл wp-config.php.

Внутри файла wp-config.php, который лежит в корне вашего сайта, найдите строчку кода:

define('WP_DEBUG', true);

Вполне возможно, что значение этого параметра у вас установлено на FALSE, в таком случае вы найдете строчку с кодом:

define('WP_DEBUG', false);

В любом случае, вам нужно заменить эту строчку на следующий код:

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Не забудьте сохранить изменения и загрузить файл wp-config.php обратно на сайт.

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

Как включить показ PHP ошибок в WordPress

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

Для этого снова откройте файл wp-config.php и замените код, который мы приводили выше, на этот:

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

Этот код даст команду WordPress отображать все виды PHP ошибок, предупреждений и ошибок снова.

Источник: wpbeginner.com

Смотрите также:

inet.ws - Powerful VPS around the World!
Алексей Шевченко

Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Скриншот ниже выглядит страшновато 🙂 , но именно с таким текстом вы случайно можете встретиться на страницах вашего сайта, если определенный плагин или иной код вызывает ошибки PHP. С другой стороны, именно этот код будет вам полезен в процессе поиска проблемы.

В первую очередь, следует понимать, что ошибки бывают разной степени “критичности”. Чаще всего вы встретите так называемые предупреждения “Warnings“, а также фатальные ошибки “Fatal errors“.

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

Во втором случае вы можете просто видеть белый экран вместо какой-то из страниц.

Как отключить вывод ошибок

Следующий код выключает вывод ошибок на страницах сайта. Его необходимо добавить в файл wp-config.php, находящийся в корне вашего сайта. Проще всего найти в этом файле текст define ( 'WP_DEBUG ", false); и вместо него добавить:

error_reporting(0); // выключаем вывод информации об ошибках
ini_set('display_errors', 0); // выключаем вывод информации об ошибках на экран
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false); 

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

Как включить вывод ошибок?

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

error_reporting(E_ALL); // включаем вывод ошибок
ini_set('display_errors', 1); // включаем вывод ошибок на экран
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

Разместить этот код необходимо один в один как и предыдущий в файле wp-config.php

Плагины для поиска ошибок в WordPress (дебаг и профилирование)

Для WordPress есть несколько замечательных плагинов, которые позволят более глубоко погрузиться в процесс поиска ошибок и их причин. Вот несколько популярных из них:

  • Query Monitor – выводит в футере довольно много полезной информации, в частности о запросах, выполненных во время генерации текущей страницы. Среди всей выводимой информации приведены время генерации страницы, сколько было SQL запросов, какие именно и время их выполнения, сколько памяти потрачено, какие хуки использованы и другое.
  • Debug Bar – набор плагинов для дебага. Это основной плагин, к которому можно подключать дополнительные, расширяющие функциональность основного.
  • Log Deprecated Notices – записывает информацию о наличии устаревших функций в WordPress или их параметров, работа плагина не зависит от значений константы WP_DEBUG, то есть работает всегда.
  • WordPress mu-plugin for debugging – альтернативный плагин на базе библиотеки Kint.
  • Clockwork для WordPress – интересный плагин для отладки через консоль браузеров Google Chrome или Firefox, есть возможность отладки AJAX-запросов.

Еще интересное:

Акции, скидки на хостинг и домены

Скидка на домены .CITY

Скидка на домены .CITY

Новое акционное предложение уже доступно для вас – скидка 70% на регистрацию домена .CITY Только до конца июня покупайте #домен #city по […]

Подробнее

Акции, скидки на хостинг и домены

Подарки за отзывы

Подарки за отзывы

Почему? Каждый из нас знает, что позитивные отзывы оставляют единицы, в первую очередь просто из-за лени 🙂 . А для […]

Подробнее

В разработке нужно иметь возможность смотреть где ошибка, когда что-то вдруг сломалось. В WordPress для этого есть специальный режим «дебаг» (режим отладки). В этой заметке разберем его на части и посмотрим что это за константа такая WP_DEBUG.

Зачем нужен «дебаг режим»?

Допустим, вы изменили код файла functions.php темы и сайт перестал работать. Вместо него белый экран — ничего не понятно. «дебаг» поможет разобраться, он покажет ошибку и скажет в какой она строке какого файла.

«Дебаг» выводит не только ошибки, из-за которых сайт перестает работать, но и заметки. Заметки могут создаваться самим PHP (например, когда неправильно используется переменная) или кодом PHP скрипта (например, WP создает такие заметки, если сайт использует устаревшую функцию WordPress, или устаревший параметр функции).

Читайте также

  • пример исправления скорости загрузки сайта через профилирование слабых мест с помощью xDebug + phpStorm.

  • Profiling WordPress Sites (видео)

Есть два варианта режима «дебаг»:

  1. WP_DEBUG_DISPLAY — Константа показа ошибок на экран.
  2. WP_DEBUG_LOG — Константа запись ошибок в лог файл.

Сам «дебаг» режим включается константой WP_DEBUG.

Все три константы могут принимать значения true или false.

По умолчанию константы дебага имеют такие значения:

  • WP_DEBUG = false (true при 'development' === wp_get_environment_type())
  • WP_DEBUG_DISPLAY = true
  • WP_DEBUG_LOG = false

Константы обычно определяются в файле wp-config.php.

wp_initial_constants() определяет дефолтные значения констнат, если они не установлены вручную. Функция срабатывает на раннем этапе загрузки WordPress.

wp_debug_mode() устанавливает настройки PHP на основе установленных констант.

WP_DEBUG_DISPLAY и WP_DEBUG_LOG активируются, только если включена константа WP_DEBUG.

Включение WP_DEBUG не изменяет значение других констант. Т.е. при WP_DEBUG=true WP_DEBUG_DISPLAY и WP_DEBUG_LOG сохранят свои дефолтные значения и на основе этих значений будут выставлены PHP настройки показа и логирования ошибок.

Отображение ошибок форсировано отключено для AJAX/REST/XMLRPC/JSONP запросов. См. код wp_debug_mode():

if (
	defined( 'XMLRPC_REQUEST' )
	|| defined( 'REST_REQUEST' )
	|| defined( 'MS_FILES_REQUEST' )
	|| ( defined( 'WP_INSTALLING' ) && WP_INSTALLING )
	|| wp_doing_ajax()
	|| wp_is_json_request()
) {
	ini_set( 'display_errors', 0 );
}

Как включить показ ошибок в AJAX запросе, сморите в статье про AJAX.

Важно отключать «дебаг» на рабочем сайте.

Базовое включение

Откройте файл wp-config.php в корне сайта и измените false на true в строке:

define( 'WP_DEBUG', true ); // false - отключить показ ошибок

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

Включение и настройка дебага

Код ниже, включит запись ошибок, предупреждений и заметок в файл wp-content/debug.log и выключит показ заметок и предупреждений на экране, чтобы они не мешались при просмотре сайта.

define( 'WP_DEBUG', true );     // включение дебаг режима
define( 'WP_DEBUG_LOG', true ); // true - логирование ошибок в файл /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // false - отключает показ ошибок на экране
define( 'SCRIPT_DEBUG', true ); // используем полные версии JS и CSS файлов движка

Вставлять этот код нужно в файл wp-config.php куда угодно, но до строки:

require_once( ABSPATH . 'wp-settings.php' );

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

error_log( $value );               // Скалярные величины
error_log( print_r( $value, 1) );  // Любые данные

Динамическое включение показа ошибок

Этот код помогает быстро включать константу WP_DEBUG, которая на рабочем сайте должна быть выключена. Также код позволяет включить запись ошибок в файл debug.log в папку /wp-content и отключить показ ошибок на экране.

Зачем это надо? Допустим, мы сделали сайт и на боевом сайте нам иногда нужно видеть ошибки (обычно конечно все это тестируется на локалке, но всякое бывает нужно). Чтобы видеть причину ошибки, нам нужно включить дебаг, но на боевом сайте где ходят пользователи делать этого не рекомендуется. С помощью кода ниже можно включить дебаг режим в WordPress через URL, зная определенный ключ.

Включение ошибок сохраняется в куку.

Установка

Замените строку define( WP_DEBUG, false ); в файле wp-config.php на такой код:

GitHub

<?php

/**
 * Dynamically enable/disable the display of PHP errors in WordPress.
 *
 * Installation:
 * replace line 'define( WP_DEBUG, false );' in 'wp-config.php' file with this code.
 *
 * Enabling debug mode:
 * NOTE: Strongly recommended to changing the 'debug' word to something more unique!
 * add the 'debug' query parameter to the URL. Examples:
 * https://site.com/?debug - default enabling of WP_DEBUG constant
 * https://site.com/?debug=1 - logging of errors into file 'DOCUMENT_ROOT/../php-errors-{HOST}.log'.
 * https://site.com/?debug=2 - linking uncompressed scripts and saving all SQL queries to $wpdb->queries
 * https://site.com/?debug=3 - saving all SQL queries in $wpdb->queries
 * https://site.com/?debug=4 - disable displaying errors (enabled by default)
 * https://site.com/?debug=14 - combining
 *
 * Disabling debug mode:
 * https://site.com/?debug=anything
 *
 * @author Kama (http://wp-kama.ru)
 * ver 2.5
 */
// IMPORTANT: change from `debug` to your unique key!
kama_define_wp_debug( 'debug' );

function kama_define_wp_debug( $key ){

	$val = isset( $_GET[ $key ] ) ? ( $_GET[ $key ] ?: 'yes' ) : false;

	// set/delete cookie
	if( $val !== false ){

		$cookie = preg_match( '/^(yes|[1234])$/', $val ) ? $val : null;

		$host = str_replace( 'www.', '', $_SERVER['HTTP_HOST'] );

		// cirilic domains: .сайт, .онлайн, .дети, .ком, .орг, .рус, .укр, .москва, .испытание, .бг
		false !== strpos( $host, 'xn--' )
			? preg_match( '~xn--[^.]+.xn--[^.]+$~', $host, $mm )
			: preg_match( '~[a-z0-9][a-z0-9-]{1,63}.[a-z.]{2,6}$~', $host, $mm );

		$host = $mm[0];

		$_COOKIE[ $key ] = $cookie;
		setcookie( $key, $cookie, time() + ( $cookie ? 3600 * 24 * 365 : -3600 ), '/', ".$host" );
	}

	// enable the debug based on the cookie
	if( ! empty( $_COOKIE[ $key ] ) ){

		define( 'WP_DEBUG', true );

		$set = array_flip(
			preg_split( '/(d)/', $_COOKIE[ $key ], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY )
		);

		isset( $set[1] ) && define( 'WP_DEBUG_LOG', dirname( $_SERVER['DOCUMENT_ROOT'] ) . "/php-errors-{$_SERVER['HTTP_HOST']}.log" );
		isset( $set[2] ) && define( 'SCRIPT_DEBUG', true );
		isset( $set[3] ) && define( 'SAVEQUERIES', true );
		isset( $set[4] ) && define( 'WP_DEBUG_DISPLAY', false );
	}
	else {
		define( 'WP_DEBUG', false );
	}
}

Теперь, чтобы включить режим WP_DEBUG, нужно добавить в любой URL сайта параметр запроса debug: http://example.com/?debug или http://example.com/?debug=1 (принудительный вывод на экран, если такой вывод отключен) или http://example.com/?debug=2 (логирование в файл).

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

При включении логирования, не забывайте удалять лог файл, а то его может посмотреть кто угодно. Или путь до файла лога можно изменить см. описание WP_DEBUG_LOG.

WP_DEBUG

WP_DEBUG — это PHP константа (глобальная постоянная — определяется всего один раз). Значение этой постоянной включает или отключает показ ошибок в PHP, а также она используется в разных местах кода WordPress для показа или подавления ошибок, где это необходимо.

WP_DEBUG нужно определять (устанавливать) в файле wp-config.php из корня сайта.

define( 'WP_DEBUG', false ); // дебаг отключен. По умолчанию.
// или
define( 'WP_DEBUG', true ); // дебаг включен

Для удобности, можно писать числа 1 или 0:

define( 'WP_DEBUG', 0 ); // дебаг отключен. По умолчанию.
// или
define( 'WP_DEBUG', 1 ); // дебаг включен

Заметка: нельзя указывать false в кавычках — ‘false’. В этом случае дебаг будет включен, потому что значение равно строке false, а не логическому — нет.

PHP ошибки, предупреждения и заметки (errors, warnings и notices)

В PHP есть разные уровни ошибок. Если не вдаваться в подробности, то уровни значимости такие:

  1. errors — серьезная ошибка, которая приводит к остановке скрипта. PHP прерывает работу.
  2. warnings — не ошибка, а предупреждение о чем-либо. PHP не прерывает работу.
  3. notices — не ошибка, а заметка о чем-либо. PHP не прерывает работу. Заметки могут показать возможные баги в коде. Их исправление, как правило, делает код более стабильным.

«Режим дебаг» включает все уровни ошибок. Это не похоже на обычное поведение PHP, там обычно включены только ошибки уровня errors, а warnings и notices не отображаются. Подробнее читайте в описании error_reporting().

Устаревшие функции, хуки и устаревшие параметры функций

WP_DEBUG также включает внутренние заметки самого WordPress. В WordPress есть специальные функции вроде _deprecated_function(), которые показывают ошибку уровня notices, когда используется устаревшая функция или хук или параметр хука, функции и т.д. Эти заметки предупреждают, что функция WP считается устаревшей и её нужно заменить, потому что она в любой момент может быть удалена. В таких заметках чаще всего предлагается альтернативная функция для замены.

Если вы увидели на своем сайте похожую ошибку, как на картинке выше, вы можете проинформировать разработчика темы или плагина, и они, вероятно, исправят ошибки в новой версии. Но пока это произойдет, вы можете отключить отображение этих ошибок PHP на своем сайте.

Давайте посмотрим, как это можно сделать на WordPress.

Как отключить показ PHP ошибок в WordPress

Для выполнения этой задачи нам потребуется отредактировать файл wp-config.php.

Внутри файла wp-config.php, который лежит в корне вашего сайта, найдите строчку кода:

define('WP_DEBUG', true);

Вполне возможно, что значение этого параметра у вас установлено на FALSE, в таком случае вы найдете строчку с кодом:

define('WP_DEBUG', false);

В любом случае, вам нужно заменить эту строчку на следующий код:

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Не забудьте сохранить изменения и загрузить файл wp-config.php обратно на сайт.

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

Как включить показ PHP ошибок в WordPress

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

Для этого снова откройте файл wp-config.php и замените код, который мы приводили выше, на этот:

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

Этот код даст команду WordPress отображать все виды PHP ошибок, предупреждений и ошибок снова.

Источник: wpbeginner.com

Смотрите также:

inet.ws - Powerful VPS around the World!
Алексей Шевченко

Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Скриншот ниже выглядит страшновато 🙂 , но именно с таким текстом вы случайно можете встретиться на страницах вашего сайта, если определенный плагин или иной код вызывает ошибки PHP. С другой стороны, именно этот код будет вам полезен в процессе поиска проблемы.

В первую очередь, следует понимать, что ошибки бывают разной степени “критичности”. Чаще всего вы встретите так называемые предупреждения “Warnings“, а также фатальные ошибки “Fatal errors“.

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

Во втором случае вы можете просто видеть белый экран вместо какой-то из страниц.

Как отключить вывод ошибок

Следующий код выключает вывод ошибок на страницах сайта. Его необходимо добавить в файл wp-config.php, находящийся в корне вашего сайта. Проще всего найти в этом файле текст define ( 'WP_DEBUG ", false); и вместо него добавить:

error_reporting(0); // выключаем вывод информации об ошибках
ini_set('display_errors', 0); // выключаем вывод информации об ошибках на экран
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false); 

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

Как включить вывод ошибок?

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

error_reporting(E_ALL); // включаем вывод ошибок
ini_set('display_errors', 1); // включаем вывод ошибок на экран
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

Разместить этот код необходимо один в один как и предыдущий в файле wp-config.php

Плагины для поиска ошибок в WordPress (дебаг и профилирование)

Для WordPress есть несколько замечательных плагинов, которые позволят более глубоко погрузиться в процесс поиска ошибок и их причин. Вот несколько популярных из них:

  • Query Monitor – выводит в футере довольно много полезной информации, в частности о запросах, выполненных во время генерации текущей страницы. Среди всей выводимой информации приведены время генерации страницы, сколько было SQL запросов, какие именно и время их выполнения, сколько памяти потрачено, какие хуки использованы и другое.
  • Debug Bar – набор плагинов для дебага. Это основной плагин, к которому можно подключать дополнительные, расширяющие функциональность основного.
  • Log Deprecated Notices – записывает информацию о наличии устаревших функций в WordPress или их параметров, работа плагина не зависит от значений константы WP_DEBUG, то есть работает всегда.
  • WordPress mu-plugin for debugging – альтернативный плагин на базе библиотеки Kint.
  • Clockwork для WordPress – интересный плагин для отладки через консоль браузеров Google Chrome или Firefox, есть возможность отладки AJAX-запросов.

Еще интересное:

Акции, скидки на хостинг и домены

Скидка на домены .CITY

Скидка на домены .CITY

Новое акционное предложение уже доступно для вас – скидка 70% на регистрацию домена .CITY Только до конца июня покупайте #домен #city по […]

Подробнее

Акции, скидки на хостинг и домены

Подарки за отзывы

Подарки за отзывы

Почему? Каждый из нас знает, что позитивные отзывы оставляют единицы, в первую очередь просто из-за лени 🙂 . А для […]

Подробнее

В разработке нужно иметь возможность смотреть где ошибка, когда что-то вдруг сломалось. В WordPress для этого есть специальный режим «дебаг» (режим отладки). В этой заметке разберем его на части и посмотрим что это за константа такая WP_DEBUG.

Зачем нужен «дебаг режим»?

Допустим, вы изменили код файла functions.php темы и сайт перестал работать. Вместо него белый экран — ничего не понятно. «дебаг» поможет разобраться, он покажет ошибку и скажет в какой она строке какого файла.

«Дебаг» выводит не только ошибки, из-за которых сайт перестает работать, но и заметки. Заметки могут создаваться самим PHP (например, когда неправильно используется переменная) или кодом PHP скрипта (например, WP создает такие заметки, если сайт использует устаревшую функцию WordPress, или устаревший параметр функции).

Читайте также

  • пример исправления скорости загрузки сайта через профилирование слабых мест с помощью xDebug + phpStorm.

  • Profiling WordPress Sites (видео)

Есть два варианта режима «дебаг»:

  1. WP_DEBUG_DISPLAY — Константа показа ошибок на экран.
  2. WP_DEBUG_LOG — Константа запись ошибок в лог файл.

Сам «дебаг» режим включается константой WP_DEBUG.

Все три константы могут принимать значения true или false.

По умолчанию константы дебага имеют такие значения:

  • WP_DEBUG = false (true при 'development' === wp_get_environment_type())
  • WP_DEBUG_DISPLAY = true
  • WP_DEBUG_LOG = false

Константы обычно определяются в файле wp-config.php.

wp_initial_constants() определяет дефолтные значения констнат, если они не установлены вручную. Функция срабатывает на раннем этапе загрузки WordPress.

wp_debug_mode() устанавливает настройки PHP на основе установленных констант.

WP_DEBUG_DISPLAY и WP_DEBUG_LOG активируются, только если включена константа WP_DEBUG.

Включение WP_DEBUG не изменяет значение других констант. Т.е. при WP_DEBUG=true WP_DEBUG_DISPLAY и WP_DEBUG_LOG сохранят свои дефолтные значения и на основе этих значений будут выставлены PHP настройки показа и логирования ошибок.

Отображение ошибок форсировано отключено для AJAX/REST/XMLRPC/JSONP запросов. См. код wp_debug_mode():

if (
	defined( 'XMLRPC_REQUEST' )
	|| defined( 'REST_REQUEST' )
	|| defined( 'MS_FILES_REQUEST' )
	|| ( defined( 'WP_INSTALLING' ) && WP_INSTALLING )
	|| wp_doing_ajax()
	|| wp_is_json_request()
) {
	ini_set( 'display_errors', 0 );
}

Как включить показ ошибок в AJAX запросе, сморите в статье про AJAX.

Важно отключать «дебаг» на рабочем сайте.

Базовое включение

Откройте файл wp-config.php в корне сайта и измените false на true в строке:

define( 'WP_DEBUG', true ); // false - отключить показ ошибок

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

Включение и настройка дебага

Код ниже, включит запись ошибок, предупреждений и заметок в файл wp-content/debug.log и выключит показ заметок и предупреждений на экране, чтобы они не мешались при просмотре сайта.

define( 'WP_DEBUG', true );     // включение дебаг режима
define( 'WP_DEBUG_LOG', true ); // true - логирование ошибок в файл /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // false - отключает показ ошибок на экране
define( 'SCRIPT_DEBUG', true ); // используем полные версии JS и CSS файлов движка

Вставлять этот код нужно в файл wp-config.php куда угодно, но до строки:

require_once( ABSPATH . 'wp-settings.php' );

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

error_log( $value );               // Скалярные величины
error_log( print_r( $value, 1) );  // Любые данные

Динамическое включение показа ошибок

Этот код помогает быстро включать константу WP_DEBUG, которая на рабочем сайте должна быть выключена. Также код позволяет включить запись ошибок в файл debug.log в папку /wp-content и отключить показ ошибок на экране.

Зачем это надо? Допустим, мы сделали сайт и на боевом сайте нам иногда нужно видеть ошибки (обычно конечно все это тестируется на локалке, но всякое бывает нужно). Чтобы видеть причину ошибки, нам нужно включить дебаг, но на боевом сайте где ходят пользователи делать этого не рекомендуется. С помощью кода ниже можно включить дебаг режим в WordPress через URL, зная определенный ключ.

Включение ошибок сохраняется в куку.

Установка

Замените строку define( WP_DEBUG, false ); в файле wp-config.php на такой код:

GitHub

<?php

/**
 * Dynamically enable/disable the display of PHP errors in WordPress.
 *
 * Installation:
 * replace line 'define( WP_DEBUG, false );' in 'wp-config.php' file with this code.
 *
 * Enabling debug mode:
 * NOTE: Strongly recommended to changing the 'debug' word to something more unique!
 * add the 'debug' query parameter to the URL. Examples:
 * https://site.com/?debug - default enabling of WP_DEBUG constant
 * https://site.com/?debug=1 - logging of errors into file 'DOCUMENT_ROOT/../php-errors-{HOST}.log'.
 * https://site.com/?debug=2 - linking uncompressed scripts and saving all SQL queries to $wpdb->queries
 * https://site.com/?debug=3 - saving all SQL queries in $wpdb->queries
 * https://site.com/?debug=4 - disable displaying errors (enabled by default)
 * https://site.com/?debug=14 - combining
 *
 * Disabling debug mode:
 * https://site.com/?debug=anything
 *
 * @author Kama (http://wp-kama.ru)
 * ver 2.5
 */
// IMPORTANT: change from `debug` to your unique key!
kama_define_wp_debug( 'debug' );

function kama_define_wp_debug( $key ){

	$val = isset( $_GET[ $key ] ) ? ( $_GET[ $key ] ?: 'yes' ) : false;

	// set/delete cookie
	if( $val !== false ){

		$cookie = preg_match( '/^(yes|[1234])$/', $val ) ? $val : null;

		$host = str_replace( 'www.', '', $_SERVER['HTTP_HOST'] );

		// cirilic domains: .сайт, .онлайн, .дети, .ком, .орг, .рус, .укр, .москва, .испытание, .бг
		false !== strpos( $host, 'xn--' )
			? preg_match( '~xn--[^.]+.xn--[^.]+$~', $host, $mm )
			: preg_match( '~[a-z0-9][a-z0-9-]{1,63}.[a-z.]{2,6}$~', $host, $mm );

		$host = $mm[0];

		$_COOKIE[ $key ] = $cookie;
		setcookie( $key, $cookie, time() + ( $cookie ? 3600 * 24 * 365 : -3600 ), '/', ".$host" );
	}

	// enable the debug based on the cookie
	if( ! empty( $_COOKIE[ $key ] ) ){

		define( 'WP_DEBUG', true );

		$set = array_flip(
			preg_split( '/(d)/', $_COOKIE[ $key ], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY )
		);

		isset( $set[1] ) && define( 'WP_DEBUG_LOG', dirname( $_SERVER['DOCUMENT_ROOT'] ) . "/php-errors-{$_SERVER['HTTP_HOST']}.log" );
		isset( $set[2] ) && define( 'SCRIPT_DEBUG', true );
		isset( $set[3] ) && define( 'SAVEQUERIES', true );
		isset( $set[4] ) && define( 'WP_DEBUG_DISPLAY', false );
	}
	else {
		define( 'WP_DEBUG', false );
	}
}

Теперь, чтобы включить режим WP_DEBUG, нужно добавить в любой URL сайта параметр запроса debug: http://example.com/?debug или http://example.com/?debug=1 (принудительный вывод на экран, если такой вывод отключен) или http://example.com/?debug=2 (логирование в файл).

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

При включении логирования, не забывайте удалять лог файл, а то его может посмотреть кто угодно. Или путь до файла лога можно изменить см. описание WP_DEBUG_LOG.

WP_DEBUG

WP_DEBUG — это PHP константа (глобальная постоянная — определяется всего один раз). Значение этой постоянной включает или отключает показ ошибок в PHP, а также она используется в разных местах кода WordPress для показа или подавления ошибок, где это необходимо.

WP_DEBUG нужно определять (устанавливать) в файле wp-config.php из корня сайта.

define( 'WP_DEBUG', false ); // дебаг отключен. По умолчанию.
// или
define( 'WP_DEBUG', true ); // дебаг включен

Для удобности, можно писать числа 1 или 0:

define( 'WP_DEBUG', 0 ); // дебаг отключен. По умолчанию.
// или
define( 'WP_DEBUG', 1 ); // дебаг включен

Заметка: нельзя указывать false в кавычках — ‘false’. В этом случае дебаг будет включен, потому что значение равно строке false, а не логическому — нет.

PHP ошибки, предупреждения и заметки (errors, warnings и notices)

В PHP есть разные уровни ошибок. Если не вдаваться в подробности, то уровни значимости такие:

  1. errors — серьезная ошибка, которая приводит к остановке скрипта. PHP прерывает работу.
  2. warnings — не ошибка, а предупреждение о чем-либо. PHP не прерывает работу.
  3. notices — не ошибка, а заметка о чем-либо. PHP не прерывает работу. Заметки могут показать возможные баги в коде. Их исправление, как правило, делает код более стабильным.

«Режим дебаг» включает все уровни ошибок. Это не похоже на обычное поведение PHP, там обычно включены только ошибки уровня errors, а warnings и notices не отображаются. Подробнее читайте в описании error_reporting().

Устаревшие функции, хуки и устаревшие параметры функций

WP_DEBUG также включает внутренние заметки самого WordPress. В WordPress есть специальные функции вроде _deprecated_function(), которые показывают ошибку уровня notices, когда используется устаревшая функция или хук или параметр хука, функции и т.д. Эти заметки предупреждают, что функция WP считается устаревшей и её нужно заменить, потому что она в любой момент может быть удалена. В таких заметках чаще всего предлагается альтернативная функция для замены.

WP_DEBUG_DISPLAY

По умолчанию: true.

Еще один компонент WP_DEBUG, который контролирует вывод (показ) ошибок на экран.

Зависит от WP_DEBUG! Работает только, если дебаг включен WP_DEBUG = true . В противном случае просто используется глобальное значение PHP опции display_errors.

Если указать в wp-config.php:

  • define( 'WP_DEBUG_DISPLAY', true ) — (по умолчанию) WP будет выводить (показывать) ошибки на экран.
  • define( 'WP_DEBUG_DISPLAY', false ) — ошибки не будут выводиться на экран. Это нужно, когда ошибки записываются в файл (см. WP_DEBUG_LOG) и их можно смотреть позднее.
  • define( 'WP_DEBUG_DISPLAY', null ) — WP вообще не будет указывать значение для PHP опции display_errors, т.е. будет использована глобальная настройка PHP (сервера).

Показ ошибок всегда отключается для REST, AJAX или XML-RPC запросов. Для них срабатывает такой код ini_set( ‘display_errors’, 0 ), но при этом значение константы WP_DEBUG_DISPLAY не изменяется!

WP_DEBUG_LOG

По умолчанию: false

Еще один компонент дебага. Включает запись ошибок в файл /wp-content/debug.log. Зависит от WP_DEBUG — работает только если WP_DEBUG равен true.

Запись ошибок в файл может пригодится, когда нужно проверить наличие ошибок в коде, который ничего не выводит на экран. Например, при AJAX запросе или при тестировании CRON или REST.

define( 'WP_DEBUG_LOG', true ); // true - запись ошибок в файл /wp-content/debug.log

Изменение адреса файла лога ошибок

Через WP

C WordPress 5.1, в WP_DEBUG_LOG можно указать путь к файлу лога:

define( 'WP_DEBUG_LOG', '/srv/path/to/custom/log/location/errors.log' );
Через PHP

Чтобы изменить название файла, добавьте следующую строку как можно раньше, например в MU плагины:

ini_set( 'error_log', WP_CONTENT_DIR . '/hidden-debug.log' );

Но эту строку нельзя добавлять в wp-config.php — это слишком рано…

Имейте ввиду:

  • Конечная папка в указанном пути должна существовать и быть доступна для записи.
  • Файла внутри может не быть, он будет создан, как только произойдет первая ошибка.

SAVEQUERIES

По умолчанию: не определена.

Связанная с дебагом константана. При включении, все SQL запросы будут сохраняться в переменную $wpdb->queries в виде массива. В этом массиве можно будет посмотреть все SQL запросы и при необходимости найти нужный и убедиться что он правильный и т.п.

Кроме самого запроса, также записываются данные о том сколько времени занял запрос и какой функцией он был вызван.

define( 'SAVEQUERIES', true ); // true - сохраняет SQL запросы и данные о них в  `$wpdb->queries`

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

SCRIPT_DEBUG

По умолчанию: false.

Связанная с дебагом константа. Контролирует какие JS и CSS файлы использовать: сжатые или полные. При включении WordPress будет использовать не сжатые версии (dev версии) JS и CSS файлов. По умолчанию используются min версии файлов. Это нужно для тестирования при изменении встроенных js или css файлов.

define( 'SCRIPT_DEBUG', true ); // true - использование полных версий `.css` и `.js` файлов

Как работает WP_DEBUG?

После установки констант дебага в wp-config.php мы заходим на сайт. И при генерации страницы, в самом начале загрузки WordPress (см. wp-settings.php) срабатывает функция wp_debug_mode(). Она, используя функции PHP, устанавливает как и какие уровни ошибок показывать, нужно ли создавать лог файл и т.д.

Не работает WP_DEBUG?

Иногда может возникнуть такая ситуация, когда вы включаете WP_DEBUG в конфиге, а ошибки все равно не видно. Такое поведение может возникнуть, когда где-то после установок параметров показа ошибок самим WordPress эти установки меняются. Например в MU плагине, обычном плагине или в теме, ошибки выключаются переустановкой ini директив PHP, примерно таким кодом:

error_reporting(0); // отключает сообщения об ошибках
ini_set('display_errors', 0); // отключает показ ошибок на экран

В этом случает установки дебага WP перебиваются и он перестает работать…

Для решения, лучше всего найти где изменяются настройки и удалить такие строки, чтобы дальше работать только с константой WP_DEBUG.

В качестве другого решения можно попробовать еще раз перебить настройки вывода ошибок, указав их снова:

error_reporting(E_ALL); // включаем сообщения об ошибках
ini_set('display_errors', 1); // включаем показ ошибок на экран

Функции WP для дебага

  • wp_debug_backtrace_summary() — Получает трассировку с названиями функций — список названий всех функций/методов, которые были вызваны для того, чтобы добраться до текущего места в коде (откуда была вызвана эта функция).
  • wp_get_environment_type() — Получает текущий тип окружения: local, development, staging, production (по умолчанию).

Данные системы

Для дебага в WP есть класс WP_Debug_Data. Например, используя следующий метод мы можем получить кучу данных о системе:

require_once ABSPATH . '/wp-admin/includes/class-wp-debug-data.php';
require_once ABSPATH . '/wp-admin/includes/update.php';
require_once ABSPATH . '/wp-admin/includes/misc.php';

$data = WP_Debug_Data::debug_data();

print_r( $data );

Получим большой массив данных:

Array
(
	[wp-core] => Array
		(
			[label] => WordPress
			[fields] => Array
				(
					[version] => array( data )

					[site_language] => array( data )

					[user_language] => array( data )

					[timezone] => array( data )

					[home_url] => array( data )

					[site_url] => array( data )

					[permalink] => array( data )

					[https_status] => array( data )

					[multisite] => array( data )

					[user_registration] => array( data )

					[blog_public] => array( data )

					[default_comment_status] => array( data )

					[environment_type] => array( data )

					[user_count] => array( data )

					[dotorg_communication] => array( data )

				)

		)

	[wp-paths-sizes] => Array
		(
			[label] => Directories and Sizes
			[fields] => Array
				(
					[wordpress_path] => array( data )

					[wordpress_size] => array( data )

					[uploads_path] => array( data )

					[uploads_size] => array( data )

					[themes_path] => array( data )

					[themes_size] => array( data )

					[plugins_path] => array( data )

					[plugins_size] => array( data )

					[database_size] => array( data )

					[total_size] => array( data )

				)

		)

	[wp-dropins] => Array
		(
			[label] => Drop-ins
			[show_count] => 1
			[description] => Drop-ins are single files, found in the /public_html/assets directory, that replace or enhance WordPress features in ways that are not possible for traditional plugins.
			[fields] => Array
				(
					[maintenance.php] => array( data )

					[object-cache.php] => array( data )

				)

		)

	[wp-active-theme] => Array
		(
			[label] => Active Theme
			[fields] => Array
				(
					[name] => array( data )

					[version] => array( data )

					[author] => array( data )

					[author_website] => array( data )

					[parent_theme] => array( data )

					[theme_features] => array( data )

					[theme_path] => array( data )

					[auto_update] => array( data )

				)

		)

	[wp-parent-theme] => Array
		(
			[label] => Parent Theme
			[fields] => Array( data )
		)

	[wp-themes-inactive] => Array
		(
			[label] => Inactive Themes
			[show_count] => 1
			[fields] => Array
				(
					[Dummy] => array( data )

				)

		)

	[wp-mu-plugins] => Array
		(
			[label] => Must Use Plugins
			[show_count] => 1
			[fields] => Array
				(
					[disable-plugins-in-front.php] => array( data )

					[main.php] => array( data )

					[not_support_browsers_redirect.php] => array( data )

					[POMOdoro Translation Cache] => array( data )

					[protect-malicious-queries.php] => array( data )

					[Rus to Lat] => array( data )

				)

		)

	[wp-plugins-active] => Array
		(
			[label] => Active Plugins
			[show_count] => 1
			[fields] => Array
				(
					[AJAX Simply] => array( data )

					[Democracy Poll] => array( data )

					[Disable Emojis (GDPR friendly)] => array( data )

					[Display Active Plugins First] => array( data )

					[Kama Breadcrumbs] => array( data )

					[Kama Postviews] => array( data )

					[Kama SpamBlock] => array( data )

					[Kama Thumbnail Pro] => array( data )

					[Redis Object Cache] => array( data )

				)

		)

	[wp-plugins-inactive] => Array
		(
			[label] => Inactive Plugins
			[show_count] => 1
			[fields] => Array
				(
					[404 Error Monitor] => array( data )

					[Category Order and Taxonomy Terms Order] => array( data )

					[Contact Form 7] => array( data )

					[Kama Thumbnail] => array( data )

					[Query Monitor] => array( data )

					[Query Monitor Extend] => array( data )

					[Right Now Reloaded] => array( data )

					[Three Column Screen Layout] => array( data )

					[TinyPNG - JPEG, PNG & WebP image compression] => array( data )

					[User Role Editor] => array( data )

					[Widget Logic] => array( data )

					[WooCommerce] => array( data )

					[WordPress Sphinx Search Plugin] => array( data )

					[WP Crontrol] => array( data )

					[WP Super Cache] => array( data )

					[Yoast SEO] => array( data )

				)

		)

	[wp-media] => Array
		(
			[label] => Media Handling
			[fields] => Array
				(
					[image_editor] => array( data )

					[imagick_module_version] => array( data )

					[imagemagick_version] => array( data )

					[imagick_version] => array( data )

					[file_uploads] => array( data )

					[post_max_size] => array( data )

					[upload_max_filesize] => array( data )

					[max_effective_size] => array( data )

					[max_file_uploads] => array( data )

					[imagick_limits] => Array ( data )

					[imagemagick_file_formats] => Array( JPEG, JPG, MOV, MP4, MPEG, MPG, PNG, PNG24, WBMP, WEBP, WMV ... )

					[gd_version] => array( data )

					[gd_formats] => array( data )

					[ghostscript_version] => array( data )

				)

		)

	[wp-server] => Array
		(
			[label] => Server
			[description] => The options shown below relate to your server setup. If changes are required, you may need your web host’s assistance.
			[fields] => Array
				(
					[server_architecture] => array( data )

					[httpd_software] => array( data )

					[php_version] => array( data )

					[php_sapi] => array( data )

					[max_input_variables] => array( data )

					[time_limit] => array( data )

					[memory_limit] => array( data )

					[max_input_time] => array( data )

					[upload_max_filesize] => array( data )

					[php_post_max_size] => array( data )

					[curl_version] => array( data )

					[suhosin] => array( data )

					[imagick_availability] => array( data )

					[pretty_permalinks] => array( data )

				)

		)

	[wp-database] => Array
		(
			[label] => Database
			[fields] => Array
				(
					[extension] => array( data )

					[server_version] => array( data )

					[client_version] => array( data )

					[database_user] => array( data )

					[database_host] => array( data )

					[database_name] => array( data )

					[database_prefix] => array( data )

					[database_charset] => array( data )

					[database_collate] => array( data )

				)

		)

	[wp-constants] => Array
		(
			[label] => WordPress Constants
			[description] => These settings alter where and how parts of WordPress are loaded.
			[fields] => Array
				(
					[ABSPATH] => array( data )

					[WP_HOME] => array( data )

					[WP_SITEURL] => array( data )

					[WP_CONTENT_DIR] => array( data )

					[WP_PLUGIN_DIR] => array( data )

					[WP_MEMORY_LIMIT] => array( data )

					[WP_MAX_MEMORY_LIMIT] => array( data )

					[WP_DEBUG] => array( data )

					[WP_DEBUG_DISPLAY] => array( data )

					[WP_DEBUG_LOG] => array( data )

					[SCRIPT_DEBUG] => array( data )

					[WP_CACHE] => array( data )

					[CONCATENATE_SCRIPTS] => array( data )

					[COMPRESS_SCRIPTS] => array( data )

					[COMPRESS_CSS] => array( data )

					[WP_LOCAL_DEV] => array( data )

					[DB_CHARSET] => array( data )

					[DB_COLLATE] => Array
						(
						)

				)

		)

	[wp-filesystem] => Array
		(
			[label] => Filesystem Permissions
			[description] => Shows whether WordPress is able to write to the directories it needs access to.
			[fields] => Array
				(
					[wordpress] => array( data )

					[wp-content] => array( data )

					[uploads] => array( data )

					[plugins] => array( data )

					[themes] => array( data )

					[mu-plugins] => array( data )

				)

		)

)

Плагины для дебага и профилирования в WordPress

В каталоге WP есть несколько хороших плагинов, которые расширяют возможности «дебага» и дают дополнительную информацию для выявления слабых мест кода. Популярные из них:

  • Query Monitor — выводит в подвале кучу полезной информации о текущем запросе. Сколько времени затрачено, сколько SQL запросов, какие запросы, сколько времени занял каждый запрос, сколько памяти затрачено, какие хуки использовались и т.д.

  • Debug Bar — комплекс плагинов по дебагингу и профилированию. Это основной плагин, после его установки к нему можно подключать еще другие плагины, которые расширяют возможности профилирования. Но я его как-то не оценил…

  • Log Deprecated Notices — записывает в лог все заметки о наличии устаревших функций WordPress или их параметров и т.д. Не зависит от WP_DEBUG — работает с отключенным WP_DEBUG.

  • WordPress mu-plugin for debugging — альтернативный дебаггер на базе библиотеки Kint.

  • Clockwork для WordPress — выводит любую отладочную информацию в консоль браузера Google Chrome или Firefox, работает на основе браузерного расширения Clockwork, чтобы иметь возможность передавать данные с сервера на клиент. Есть возможность отладки AJAX-запросов.

Скриншот ниже выглядит страшновато 🙂 , но именно с таким текстом вы случайно можете встретиться на страницах вашего сайта, если определенный плагин или иной код вызывает ошибки PHP. С другой стороны, именно этот код будет вам полезен в процессе поиска проблемы.

В первую очередь, следует понимать, что ошибки бывают разной степени “критичности”. Чаще всего вы встретите так называемые предупреждения “Warnings“, а также фатальные ошибки “Fatal errors“.

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

Во втором случае вы можете просто видеть белый экран вместо какой-то из страниц.

Как отключить вывод ошибок

Следующий код выключает вывод ошибок на страницах сайта. Его необходимо добавить в файл wp-config.php, находящийся в корне вашего сайта. Проще всего найти в этом файле текст define ( 'WP_DEBUG ", false); и вместо него добавить:

error_reporting(0); // выключаем вывод информации об ошибках
ini_set('display_errors', 0); // выключаем вывод информации об ошибках на экран
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false); 

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

Как включить вывод ошибок?

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

error_reporting(E_ALL); // включаем вывод ошибок
ini_set('display_errors', 1); // включаем вывод ошибок на экран
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

Разместить этот код необходимо один в один как и предыдущий в файле wp-config.php

Плагины для поиска ошибок в WordPress (дебаг и профилирование)

Для WordPress есть несколько замечательных плагинов, которые позволят более глубоко погрузиться в процесс поиска ошибок и их причин. Вот несколько популярных из них:

  • Query Monitor – выводит в футере довольно много полезной информации, в частности о запросах, выполненных во время генерации текущей страницы. Среди всей выводимой информации приведены время генерации страницы, сколько было SQL запросов, какие именно и время их выполнения, сколько памяти потрачено, какие хуки использованы и другое.
  • Debug Bar – набор плагинов для дебага. Это основной плагин, к которому можно подключать дополнительные, расширяющие функциональность основного.
  • Log Deprecated Notices – записывает информацию о наличии устаревших функций в WordPress или их параметров, работа плагина не зависит от значений константы WP_DEBUG, то есть работает всегда.
  • WordPress mu-plugin for debugging – альтернативный плагин на базе библиотеки Kint.
  • Clockwork для WordPress – интересный плагин для отладки через консоль браузеров Google Chrome или Firefox, есть возможность отладки AJAX-запросов.

Еще интересное:

Акции, скидки на хостинг и домены

Подарки за отзывы

Подарки за отзывы

Почему? Каждый из нас знает, что позитивные отзывы оставляют единицы, в первую очередь просто из-за лени 🙂 . А для […]

Подробнее

Новости индустрии

Новая цена регистрации доменов

Новая цена регистрации доменов

Администратор домена .IN.UA анонсировал повышение цен на регистрацию доменов in.ua, od.ua, odessa.ua, mk.ua, nikolaev.ua на более чем 40 процентов с 1 октября 2022 года. В связи […]

Подробнее

Recently one of our readers asked how to turn off PHP errors in WordPress? PHP warnings and notices help developers debug issues with their code. However it looks extremely unprofessional when they are visible to all your website visitors. In this article, we will show you how to easily turn off PHP errors in WordPress.

How to turn off PHP errors in WordPress

Why and When You Should Turn Off PHP Errors in WordPress?

PHP errors that you can see on your WordPress site are usually warnings and notices. These are not like internal server error, syntax errors, or fatal errors, which stop your website from loading.

Notices and warnings are the kind of errors that do not stop WordPress from loading your website. See how WordPress actually works behind the scenes for more details.

PHP errors in WordPress admin area

The purpose of these errors are to help developers debug issues with their code. Plugin and theme developers need this information to check for compatibility and best practices.

However, if you are not developing a theme, plugin, or a custom website, then these errors should be hidden. Because if they appear on the front-end of your website to all your visitors, it looks extremely unprofessional.

WordPress warning errors on homepage

If you see an error like above on on your site, then you may want to inform the respective theme or plugin developer. They may release a fix that would make the error go away. Meanwhile, you can also turn these errors off.

Let’s take a look at how to easily turn off PHP errors, notices, and warnings in WordPress.

Turning off PHP Errors in WordPress

For this part, you will need to edit the wp-config.php file.

Inside your wp-config.php file, look for the following line:

define('WP_DEBUG', true);

It is also possible, that this line is already set to false. In that case, you’ll see the following code:

define('WP_DEBUG', false);

In either case, you need to replace this line with the following code:

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Don’t forget to save your changes and upload your wp-config.php file back to the server.

You can now visit your website to confirm that the PHP errors, notices, and warnings have disappeared from your website.

Turning on PHP Errors in WordPress

If you are working on a website on local server or staging area, then you may want to turn on error reporting. In that case you need to edit your wp-config.php file and replace the code you added earlier with the following code:

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

This code will allow WordPress to start displaying PHP errors, warnings, and notices again.

We hope this article helped you learn how to turn off php errors in WordPress. You may also want to see our list of the most common WordPress errors and how to fix them.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. We have been creating WordPress tutorials since 2009, and WPBeginner has become the largest free WordPress resource site in the industry.

Вывод ошибок php

5 382

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

Ошибки PHP — это предупреждения и уведомления.

Они не препятствуют загрузке сайта, как это, например, делают ошибки внутреннего сервера, ошибки синтаксиса и фатальные ошибки.

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

вывод ошибок php

Ошибки помогают разработчикам проверять темы и плагины на совместимость и исправлять их в написанном коде.

Но если вы не разработчик, вы не должны видеть в купленной теме или плагине ошибки — они должны быть скрыты.

вывод ошибок php

На картинке выше показана стандартная ошибка php.

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

Как отключить вывод ошибок PHP в WordPress

Вам нужно будет отредактировать файл wp-config.php.

Внутри вашего файла wp-config.php найдите следующую строку:

вывод ошибок php

Возможно эта строка уже установлена ​​в значении false. Тогда вы увидите следующий код:

вывод ошибок php

В любом случае вам нужно заменить эту строку следующим кодом:

вывод ошибок php

Сохраните изменения и загрузите файл wp-config.php обратно на сервер.

Теперь вы можете открыть сайт и проверить, что уведомления и предупреждения исчезли.

Как включить вывод ошибок PHP в WordPress

Если вы работаете с сайтом на локальном сервере, вы можете включить отчет об ошибках.

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

вывод ошибок php

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

Я надеюсь, статья была полезной.

Читайте также:

Подробное руководство по созданию сайта на WordPress.

Вам также может быть полезна инструкция по SEO оптимизации сайта: главные аспекты и лучшие плагины.

Если у вас есть вопросы, пишите в комментариях.

И подписывайтесь на нас в Facebook, Instagram и Twitter.

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

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

Отключаем вывод php ошибок в wordpress

Содержание

  • 1 Почему и когда следует отключать вывод PHP-ошибок в WordPress?
  • 2 Отключение вывода PHP-ошибок в WordPress
  • 3 Включение вывода PHP-ошибок в WordPress

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

Почему и когда следует отключать вывод php ошибок

Цель отображения PHP-ошибок – это помочь веб-разработчикам отладить проблемы с кодом. Особенно они помогают при разработке плагинов и тем для выявления их совместимости и лучшей работы.

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

Вот так выглядит вывод ошибки в коде php со стороны пользователя в браузере

Если вы увидите подобную ошибку на своем сайте, то вы можете сообщить о ней соответствующему разработчику  темы или плагина. Он должен будет исправить ее. Тем временем вы также можете отключить вывод этой ошибки.

А теперь давайте разберемся, как легко отключить PHP-ошибки, уведомления и предупреждения в WordPress.

Отключение вывода PHP-ошибок в WordPress

Для этого вам понадобится отредактировать файл  wp-config.php.

Найдите в файле следующую строку:

define(‘WP_DEBUG’, true);

Вполне возможно, что для этой строки прописано «false». В этом случае код будет выглядеть вот так:

define(‘WP_DEBUG’, false);

В любом случае строку необходимо будет заменить на следующее:

ini_set(‘display_errors’,‘Off’);

ini_set(‘error_reporting’, E_ALL );

define(‘WP_DEBUG’, false);

define(‘WP_DEBUG_DISPLAY’, false);

Не забудьте сохранить все изменения и обратно загрузить на сервер файл wp-config.php.

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

Включение вывода PHP-ошибок в WordPress

Если вы работаете над сайтом на локальном сервере или над тестовым сайтом,  расположенном на хостинге, то вам может понадобиться отображение PHP-ошибок.

Для этого вам необходимо будет отредактировать файл wp-config.php – замените выше добавленный код на следующий:

define(‘WP_DEBUG’, true);

define(‘WP_DEBUG_DISPLAY’, true);

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

Надеюсь, эта статья помогла вам разобраться с выводом PHP-ошибок. Возможно, вам также будет интересно узнать о самых распространенных ошибках в WordPress и как их исправить.

Если вам понравилась статья, то не забывайте ее лайкать, поделитесь ею. Находите меня в социальных медиа.

Для отключения отображения ошибок PHP нужно отредактировать файл wp-config.php .

Внутри вашего файла wp-config.php найдите следующую строку:

define(‘WP_DEBUG’, true);
Также возможно, что эта строка уже установлена ​​в false. В этом случае вы увидите следующий код:

define(‘WP_DEBUG’, false);

В любом случае вам нужно заменить эту строку следующим кодом:

ini_set(‘display_errors’,’Off’);
ini_set(‘error_reporting’, E_ALL );
define(‘WP_DEBUG’, false);
define(‘WP_DEBUG_DISPLAY’, false);

Не забудьте сохранить изменения и загрузить файл wp-config.php обратно на сервер.

Теперь вы можете посетить свой веб-сайт, чтобы подтвердить, что ошибки, уведомления и предупреждения PHP исчезли с вашего веб-сайта.

Включение ошибок PHP в WordPress

Вам нужно отредактировать файл wp-config.php и заменить код, который вы добавили ранее, следующим кодом:

define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_DISPLAY’, true);

Хотя WordPress действительно прост в использовании, есть несколько распространенных ошибок WordPress, которые могут вызвать у вас панику. Хорошо то, что об ошибке WordPress, которую вы видите на своем сайте, скорее всего, сообщил и исправил кто-то до вас. В WPBeginner мы написали руководства о том, как исправить несколько популярных ошибок WordPress. В этой статье мы рассмотрим 40 наиболее распространенных ошибок WordPress, а также покажем вам, как исправить все эти распространенные ошибки WordPress.

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

Если вы не можете решить свою проблему с помощью шагов, упомянутых в этой статье, обратитесь в свою хостинговую компанию WordPress.

Поскольку это длинная статья, мы создали оглавление ниже для облегчения навигации.

Давайте посмотрим, как решать наиболее распространенные ошибки WordPress (одну за другой).

1 Как исправить внутреннюю ошибку сервера

50 самых распространенных ошибок WordPress и как их исправить

Возможно, самая сбивающая с толку ошибка WordPress, с которой может столкнуться новичок, – это «Внутренняя ошибка сервера» или иногда «Внутренняя ошибка сервера 500».

Эта ошибка обычно появляется, когда что-то не так, но сервер не может определить причину проблемы. Поскольку в сообщении об ошибке не указывается, где искать ошибку, разобраться в этом в значительной степени зависит от вас.

Мы составили список решений, которые вы можете попробовать, и одно из них поможет вам решить эту проблему. Посмотрите, как исправить внутреннюю ошибку сервера в WordPress.

2 Этот сайт испытывает технические трудности

50 самых распространенных ошибок WordPress и как их исправить

WordPress представил функцию защиты от фатальных ошибок в WordPress 5.2. Эта функция отображает простое сообщение об ошибке, в котором говорится, что «Этот сайт испытывает технические трудности».

Для получения полной информации WordPress затем отправляет уведомление по электронной почте на ваш адрес электронной почты администратора WordPress. Это сообщение электронной почты содержит ссылку для доступа к серверной части и попытки исправить ошибку.

50 самых распространенных ошибок WordPress и как их исправить

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

Самый простой способ исправить это – убедиться, что ваш адрес электронной почты администратора WordPress правильный и вы можете получать электронные письма с уведомлениями WordPress. Если вы не можете получать электронные письма от WordPress, ознакомьтесь с нашим руководством по устранению проблемы с отправкой писем WordPress.

3 Как исправить синтаксическую ошибку в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Эта ошибка обычно возникает, когда вы пытаетесь добавить фрагменты кода в WordPress и случайно что-то пропустили или код имеет неправильный синтаксис. Это приведет к ошибке синтаксического анализа PHP, и вы увидите сообщение вроде:

Parse error- syntax error, unexpected $end in /public_html/site1/wp-content/themes/my-theme/functions.php on line 278

Сообщение об ошибке будет указывать на неожиданную вещь, обнаруженную в коде, и расположение сценария, в котором произошла ошибка, с номером строки. Чтобы решить эту проблему, вам необходимо исправить синтаксис. В большинстве случаев это отсутствующая скобка или какой-то неожиданный символ в коде. [ Исправить синтаксическую ошибку в WordPress ]

4 Как исправить ошибку при установлении соединения с базой данных в WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

Обычно это происходит, когда пользователь ввел или изменил свои учетные данные базы данных (хост базы данных, имя пользователя базы данных и пароль базы данных) неправильно. Иногда ваш сервер базы данных может не отвечать или ваша база данных может быть повреждена.

Однако чаще всего это неправильные учетные данные для входа в базу данных. Взгляните на общие решения этой проблемы. [ Исправить ошибку при установлении соединения с базой данных в WordPress ]

5 Как исправить белый экран смерти WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

В большинстве случаев это происходит, когда скрипт исчерпывает лимит памяти PHP. Это также может произойти из-за конфигурации на сервере. Также возможно, что пользователь увидит белый экран смерти только в определенных разделах своего сайта. [Посмотрите, как исправить белый экран смерти WordPress ]

6 Как исправить ошибку 404 в сообщениях WordPress

50 самых распространенных ошибок WordPress и как их исправить

Симптомы этой ошибки заключаются в том, что когда пользователь посещает отдельное сообщение на своем сайте, он получает страницу 404 – ошибка не найдена.

Пользователь может просматривать все остальные разделы своего сайта, включая админку. Наиболее частая причина этой проблемы – настройки постоянной ссылки в WordPress. Чтобы решить эту проблему, пользователю потребуется изменить настройки постоянных ссылок или вручную обновить свои правила перезаписи. [ Исправить сообщения WordPress, возвращающие ошибку 404 ]

7 Как исправить ошибку содержимого боковой панели ниже в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Еще одна распространенная проблема, с которой сталкиваются новички, – это когда боковая панель появляется под контентом, тогда как она должна появляться рядом с контентом. Эта проблема в основном вызвана темами WordPress.

Иногда, когда пользователи добавляют фрагменты кода на свой сайт, они могут случайно забыть закрыть HTML-тег div или добавить дополнительный закрывающий div, что может привести к нарушению макета темы. Другая распространенная причина – использование непропорциональной ширины в CSS или неправильная очистка плавающего элемента. [ Исправить боковую панель, появляющуюся под ошибкой содержимого в WordPress ]

8 Как исправить белый текст и отсутствующие кнопки в визуальном редакторе WordPress

50 самых распространенных ошибок WordPress и как их исправить

Если вы используете классический редактор WordPress, то иногда кнопки из визуального редактора могут исчезнуть или начать показывать пустые пробелы вместо кнопок.

Эта проблема может возникнуть, если объединенный JavaScript не работает. Это также может быть вызвано отсутствием или повреждением файлов TinyMCE или конфликтом с каким-либо другим плагином, который изменяет или расширяет TinyMCE, поставляемый с WordPress. [Исправить белый текст и отсутствующие кнопки в визуальном редакторе WordPress ]

9 Исправление: ошибка исчерпания памяти WordPress – увеличение памяти PHP

50 самых распространенных ошибок WordPress и как их исправить

Признаком этой ошибки может быть белый экран смерти или сообщение об ошибке, подобное этому:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home/username/public_html/site1/wp-includes/plugin.php on line xxx

Эта ошибка возникает, когда скрипт WordPress или плагин исчерпывают лимит выделенной памяти по умолчанию. [ Исправить ошибку исчерпания памяти WordPress ]

10 Что делать, если вы заблокированы от администратора WordPress (wp-admin)

50 самых распространенных ошибок WordPress и как их исправить

Иногда вы можете оказаться заблокированным в админке WordPress. Это могло произойти, если вы забыли свой пароль и у вас нет доступа к электронной почте для восстановления пароля.

Плагин или код, который неправильно пытается внести некоторые изменения в раздел администратора, также могут заблокировать вас. Вы также можете потерять доступ к админке из-за взлома сайта WordPress. [ Исправить заблокированную проблему администратора WordPress ]

11 Как исправить проблему обновления и перенаправления страницы входа в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Симптомы этой проблемы заключаются в том, что когда пользователь пытается войти в панель управления WordPress, он перенаправляется WordPress обратно на страницу входа.

В большинстве случаев это происходит из-за неправильных значений полей URL-адреса сайта и домашнего URL-адреса в таблице параметров WordPress. Это также может быть вызвано плохо настроенными настройками постоянной ссылки или настройкой перенаправления в файле .htaccess. [ Исправить проблему обновления и перенаправления страницы входа в WordPress ]

12 Как исправить проблему загрузки изображений в WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

Все эти файлы в медиатеке будут повреждены. Эта ошибка возникает из-за неправильных прав доступа к файлам и каталогам при установке WordPress. Эту проблему может вызвать ряд факторов. [ Устранение проблем с загрузкой изображений в WordPress ]

13 Как исправить общие проблемы с изображениями в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Загрузка изображений на сайт WordPress может сбить с толку тех, кто плохо знаком с WordPress. Пользователь может быть не в состоянии узнать, как выравнивать изображения, изменять их размер, обрезать их или отображать в формате галереи.

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

14 Как исправить ошибку «Вы уверены, что хотите это сделать?» В WordPress

50 самых распространенных ошибок WordPress и как их исправить

Пользователи могут столкнуться с этой ошибкой в ​​админке WordPress. Наиболее распространенной причиной этой ошибки является неправильное использование плагина или темы Nonce.

Nonce – это специальные ключи безопасности, которые могут быть добавлены к URL-адресам при выполнении действия администратора в WordPress. Иногда плагин или тема могут использовать их неправильно, что может привести к тому, что пользователи увидят эту ошибку. [ Исправьте, вы уверены, что хотите сделать эту ошибку в WordPress ]

15 Как исправить ошибку «Кратковременная недоступность из-за запланированного обслуживания» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Иногда из-за незавершенного или прерванного обновления WordPress вы можете увидеть в WordPress ошибку «Кратковременно недоступно для планового обслуживания».

Там происходит то, что WordPress переводит ваш сайт в режим обслуживания во время обновления. Если по какой-то причине обновление будет прервано, то WordPress не сможет вывести ваш сайт из режима обслуживания. Эта ошибка заблокирует весь ваш сайт и сделает его недоступным для администраторов и посетителей. [ Исправление временно недоступно из-за ошибки планового обслуживания ]

16 Как исправить ошибку, при которой WordPress не отправляет электронную почту

50 самых распространенных ошибок WordPress и как их исправить

Самый распространенный симптом этой проблемы – отсутствие писем с контактной формой или уведомлений WordPress от вашего сайта.

Эта проблема обычно возникает из-за того, что большинство поставщиков виртуального хостинга отключают или ограничивают модуль, используемый для отправки электронных писем, чтобы предотвратить злоупотребления своими серверами. [ Исправить WordPress не отправляет электронную почту ]

17 Как исправить ошибки RSS-канала WordPress

50 самых распространенных ошибок WordPress и как их исправить

Большинство ошибок RSS-канала WordPress вызвано плохим форматированием. Вы можете увидеть такие ошибки:

XML Parsing Error: XML or text declaration not at start of entity Location: http://example.com/feed Line Number 2, Column 1:

Сообщение об ошибке RSS-канала зависит от того, какой браузер вы используете. Вы также можете увидеть это сообщение об ошибке при посещении своей ленты в браузере.

Warning: Cannot modify header information – headers already sent by (output started at /home/username/example.com/wp-content/themes/twentysixteen/functions.php:433) in /home/username/example.com/wp-includes/pluggable.php on line 1228

WordPress выводит RSS-каналы в XML, который является языком строгой разметки. Отсутствующий разрыв строки или лишняя вкладка могут нарушить работу RSS-канала. [ Исправить ошибки RSS-канала WordPress ]

18 Как исправить ошибку 403 Forbidden в WordPress

50 самых распространенных ошибок WordPress и как их исправить

403 Запрещенный код ошибки отображается, когда разрешения вашего сервера не разрешают доступ к определенной странице. Вот почему ошибка обычно сопровождается текстом:

403 Forbidden – You don't have permission to access '/’ on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

Есть разные сценарии, когда вы можете увидеть эту ошибку. Наиболее частыми виновниками являются неправильные права доступа к файлам, плохо закодированные плагины безопасности или конфигурация сервера. [ Исправить ошибку 403 Forbidden в WordPress ]

19 Как исправить ошибку слишком большого количества переадресаций в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Эта ошибка обычно возникает из-за неправильно настроенного перенаправления. Как вы знаете, WordPress имеет дружественную для SEO структуру URL-адресов, которая использует функцию перенаправления. Несколько других популярных плагинов WordPress также используют функцию перенаправления.

Из-за неправильной настройки любого из этих инструментов перенаправления ваш сайт может перенаправить пользователей на URL-адрес, который фактически перенаправляет их обратно на ссылающийся URL. В этом случае браузер пользователя оказывается в ловушке между двумя страницами, вызывая цикл перенаправления. [ Исправить слишком много проблем с переадресацией в WordPress ]

20 Как исправить ошибку «Загрузка: не удалось записать файл на диск» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

У каждого файла и папки на вашем веб-сайте есть набор разрешений. Ваш веб-сервер контролирует доступ к файлам на основе этих разрешений. Неправильные разрешения для папки могут лишить вас возможности записывать файлы на сервер. Это означает, что ваш веб-сервер не может создавать или добавлять новые файлы в эту конкретную папку. [ Исправить загрузку: не удалось записать файл на диск, ошибка ]

21 Как исправить ошибку «Этот сайт содержит вредоносные программы» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Google помечает веб-сайт этим предупреждением, если обнаруживает подозрительный код, который может быть вредоносным ПО или трояном. Иногда причина этого заключается в том, что ваш сайт взломан и теперь используется для распространения вредоносного кода.

Еще одна частая причина этой ошибки – показ рекламы из некачественных рекламных сетей. В этих сетях иногда может отображаться реклама со ссылками на веб-сайты, распространяющие вредоносный код. [ Исправить сайт впереди содержит ошибку вредоносных программ в WordPress ]

22 Как исправить ошибку пропущенного сообщения в расписании в WordPress

50 самых распространенных ошибок WordPress и как их исправить

В WordPress есть эта замечательная функция, которая позволяет вам планировать автоматическую публикацию сообщений в указанное время. Большинство блоггеров полагаются на будущее при управлении своим графиком публикации.

Однако иногда WordPress может пропускать запланированные публикации по ряду причин. Если это случалось с вами более чем несколько раз, вам необходимо решить эту проблему. [ Исправить ошибку пропущенного расписания публикации в WordPress ]

23 Как исправить фатальную ошибку: превышено максимальное время выполнения в WordPress

50 самых распространенных ошибок WordPress и как их исправить

WordPress написан в основном на языке программирования PHP. Для защиты веб-серверов от злоупотреблений установлено ограничение по времени, в течение которого сценарий PHP может работать.

Некоторые провайдеры хостинга WordPress установили это значение на более высокий уровень, в то время как другие, возможно, установили его на более низкий уровень. Когда сценарий достигает максимального предела времени выполнения, это приводит к ошибке превышения максимального времени выполнения. [ Исправить ошибку превышения максимального времени выполнения в WordPress ]

24 Как исправить ошибку Facebook с неправильным эскизом в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Существует множество причин, по которым Facebook не может правильно угадать правильную миниатюру. Одна из наиболее частых причин – наличие нескольких изображений, установленных в теге og: image, где ваше избранное изображение меньше остальных изображений.

Facebook использует теги Open Graph (og), а такие плагины, как Yoast SEO, автоматически добавляют их на ваш сайт, чтобы избежать проблем с отсутствием эскизов. [ Исправить проблему с неправильными миниатюрами Facebook в WordPress ]

25 Как исправить проблему с выходом из системы WordPress

50 самых распространенных ошибок WordPress и как их исправить

WordPress устанавливает файл cookie в вашем браузере для аутентификации сеанса входа в систему. Этот файл cookie устанавливается для URL-адреса WordPress, хранящегося в вашем разделе настроек. Если вы осуществляете доступ с URL-адреса, который не соответствует тому, который указан в настройках WordPress, то WordPress не сможет аутентифицировать ваш сеанс. [ Исправить WordPress продолжает выходить из системы ]

26 Как исправить ошибку смешанного содержимого в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Ошибки смешанного содержимого вызваны неправильными настройками HTTP / SSL на вашем сайте WordPress. Они могут или не могут повлиять на функциональность вашего сайта, но они могут повлиять на SEO вашего сайта и пользовательский опыт.

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

Чтобы исправить это, вам нужно выяснить, какие ресурсы загружаются небезопасно, а затем исправить их URL-адреса. Вы можете сделать это с помощью плагина или вручную. [ Исправить ошибки смешанного содержания в WordPress ]

27 Как исправить неработающую кнопку добавления мультимедиа в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Кнопка «Добавить медиа» на экранах редактирования сообщений WordPress использует JavaScript для запуска медиа-библиотеки и загрузчика. Однако иногда конфликт кода плагина или темы с ядром WordPress может помешать работе JavaScript.

Что происходит, так это то, что WordPress объединяет все скрипты внутри административной области WordPress для повышения производительности. Плагин или сценарий темы могут нарушить это, в результате чего другой код в сценарии перестанет работать. [ Исправить кнопку добавления мультимедиа, не работающую в WordPress ]

28 Как исправить ошибку 502 Bad Gateway в WordPress

50 самых распространенных ошибок WordPress и как их исправить

502 Ошибка неверного шлюза – еще одна загадочная ошибка, которая может появиться на вашем веб-сайте WordPress. Обычно это вызвано тем, что запрос пользователя к серверу занимает слишком много времени для обработки без каких-либо других ошибок.

Эта задержка может быть временной ошибкой, вызванной высоким трафиком. Это также может быть вызвано плохо закодированной темой или плагином WordPress. И последнее, но не менее важное: неправильная конфигурация сервера также может вызвать эту ошибку. [ Исправить ошибку 502 неверного шлюза в WordPress ]

29 Как исправить ошибку 503 Service Unavailable в WordPress

Ошибка 503 «служба недоступна» часто возникает из-за того, что скрипт PHP не отвечает. Это может быть плагин WordPress, тема или некорректный фрагмент пользовательского кода.

Это также может быть вызвано большой нагрузкой на сервер, сбоем сервера или атакой грубой силы. В этом случае он может автоматически исчезнуть через несколько минут. Если он не исчезнет, ​​вам нужно будет устранить и исправить его. [ Исправить ошибку 503 service unavailable в WordPress ]

30 Как исправить ошибку тайм-аута шлюза 504 в WordPress

Ошибка тайм-аута шлюза 504 часто возникает, когда запрос к вашему серверу обрабатывается через прокси или брандмауэр, но не удается подключиться к вышестоящему серверу.

У вас больше шансов увидеть эту ошибку, если вы используете брандмауэр WordPress, такой как Sucuri или Cloudflare. [ Исправить ошибку тайм-аута шлюза 504 в WordPress ]

31 Как исправить ошибку WordPress «Не удалось открыть поток»

50 самых распространенных ошибок WordPress и как их исправить

Ошибка «Не удалось открыть поток» возникает, когда WordPress не может загрузить файл, указанный в коде веб-сайта. Иногда WordPress продолжит загрузку сайта и покажет только предупреждающее сообщение, а в других случаях это приведет к фатальной ошибке.

Сообщение об ошибке может быть разным, в зависимости от того, где в коде возникает ошибка и чем она вызвана. В каждом случае за фразой «Не удалось открыть поток» будет следовать причина. Например, отказано в разрешении, отсутствие такого файла или каталога, сбой операции и т.д. [ Исправить ошибку WordPress не удалось открыть поток ]

32 Как исправить ошибку “слишком много запросов” в WordPress 429

50 самых распространенных ошибок WordPress и как их исправить

Ошибка 429 – это превентивная мера по защите серверов от злоупотреблений. Эта ошибка возникает, когда бот, скрипт или пользователь делает слишком много запросов к серверу.

Однако, если он не настроен должным образом, он может заблокировать доступ поисковых систем и других API к вашему сайту. Чтобы исправить это, вам нужно будет найти некорректный код, плагин или службу, которые вызывают ошибку. [ Исправить ошибку слишком большого количества запросов WordPress 429 ]

33 Как исправить ошибку 413 Request Entity Too large в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Обычно серверы большинства хостинговых компаний WordPress настроены, так что пользователи WordPress могут легко загружать большие изображения и другие медиафайлы. Однако иногда этого параметра недостаточно для загрузки больших файлов тем или плагинов.

Это также помешает вам загружать большие файлы в медиа-библиотеку. В этом случае вы увидите другое сообщение, четко указывающее, что размер файла превышает максимально допустимый предел. [ Исправить ошибку размера запроса 414 в WordPress ]

34 Как отключить ошибки PHP в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Ваш сайт WordPress может иногда отображать ошибки и предупреждения в административной области WordPress или на вашем сайте. Эти ошибки не мешают WordPress отображать ваш сайт. Они полезны при отладке проблем, но ваш веб-сайт будет выглядеть действительно непрофессионально, если он показывает эти ошибки во внешнем интерфейсе.

В WordPress есть простые приемы настройки, позволяющие контролировать ошибки PHP и то, как они отображаются или регистрируются на вашем веб-сайте. Вам просто нужно отключить их, и ошибки PHP исчезнут с вашего сайта. [ Исправить ошибки PHP в WordPress ]

35 Как исправить ошибку безопасного подключения в WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

Обновления играют важную роль в безопасности и производительности WordPress. Вот почему вам необходимо исправить эту ошибку, чтобы возобновить обновления WordPress. [ Исправить ошибку безопасного соединения в WordPress ]

36 Как исправить ошибку уже существующей папки назначения в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Эта ошибка возникает во время установки темы или плагина WordPress. WordPress извлекает zip-файл вашего плагина или темы в папку, названную в честь самого файла.

Если папка с таким именем уже существует, WordPress прерывает установку со следующим сообщением об ошибке.

Целевая папка уже существует. /home/user/example.com/wp-content/plugins/wpforms/

Не удалось установить плагин.

Чтобы исправить это, вам просто нужно удалить существующую папку, а затем продолжить установку. [ Исправить ошибку в папке, которая уже существует в WordPress ]

37 Как исправить ошибку «Другое обновление в процессе» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Эта ошибка обычно появляется во время процесса обновления ядра WordPress. Если пользователь инициирует другой процесс обновления, когда обновление уже выполняется, вы увидите это сообщение об ошибке.

Что происходит, так это то, что WordPress автоматически устанавливает параметр блокировки обновления в базе данных. Эта опция базы данных предотвращает одновременное обновление вашего веб-сайта. Эта опция автоматически исчезает через некоторое время. Однако, если это не так или вы не хотите ждать, вы также можете исправить это вручную. [ [Исправить другую ошибку процесса обновления в WordPress](https://techblog.sdstudio.top/kak-ispravit-oshibku-drugoe-obnovlenie-v-processe-v-wordpress-pri-obnovlenii-cms/ “Как исправить ошибку) ]

38 Как исправить ошибку ключа сброса пароля в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Эта ошибка заставляет страницу входа обновляться и не позволяет сохранить ключ сброса пароля. Хотя интерфейс вашего веб-сайта работает нормально, вы не сможете войти в систему и работать на нем.

Это вызвано нехваткой места на диске в вашей учетной записи хостинга WordPress. Поскольку на диске больше нет места, WordPress не может сохранить новые данные в базе данных. Самый простой способ исправить это – просто удалить несколько ненужных файлов с вашего сайта. [ Исправить ошибку ключа сброса пароля в WordPress ]

39 Как исправить ошибку «Отсутствует временная папка» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Эта ошибка возникает, когда WordPress не имеет доступа к папке, которую PHP использует для хранения временных файлов. Ошибка нарушает загрузку мультимедийных файлов WordPress, плагинов и установку тем.

Чтобы исправить эту ошибку, вам нужно будет определить временную папку для использования WordPress или попросить вашего хостинг-провайдера WordPress исправить это за вас. [ Исправить ошибку отсутствия временной папки в WordPress ]

40 Как исправить ошибки файла Pluggable.php в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Файл Pluggable.php содержит некоторые основные функции WordPress, которые пользователи и разработчики могут переопределить в своем собственном коде. Однако, если плагин WordPress или пользовательский фрагмент кода не может правильно обработать одну из этих функций, вы увидите ошибку, подобную этой:

Предупреждение: невозможно изменить информацию заголовка – заголовки, уже отправленные (вывод начался в /home/username/demosite/wp-content/themes/mytheme/functions.php:1035) в / home / username / demosite / wp-includes / pluggable. php в строке 1179

Иногда вы сможете продолжить работу над своим сайтом, несмотря на ошибку, иногда ошибка будет фатальной и сделать ваш сайт полностью недоступным. [ Исправить ошибки файла pluggable.php в WordPress ]

41 Как исправить распространенные проблемы с SSL в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Сайты с поддержкой SSL / HTTPS используют уникальный сертификат SSL для идентификации. Если сервер притворяется, что работает по протоколу HTTPS, а его сертификат не совпадает, то большинство современных браузеров предупреждают пользователя о необходимости подключения к веб-сайту.

Самый простой способ исправить это – попросить вашего хостинг-провайдера WordPress правильно установить ваш SSL-сертификат. Дополнительные сведения и другие ошибки, вызванные неправильной настройкой SSL, см. В нашем руководстве по исправлению распространенных проблем с SSL в WordPress.

42 Как исправить ошибку прав доступа к файлам и папкам в WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

Вы можете установить эти разрешения вручную с помощью FTP-клиента. Просто выберите все файлы и папки WordPress, а затем рекурсивно примените разрешения к папкам и файлам.

Вам нужно будет установить все права доступа к папкам на 755 и все права доступа к файлам на 655. Подробнее читайте в нашей статье о том, как исправить права доступа к файлам и папкам в WordPress.

43 Как исправить ошибку загрузки изображения HTTP в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Вы видите ошибку HTTP при попытке загрузить изображения или мультимедиа на свой сайт WordPress? Существует ряд вещей, которые могут привести к ошибке HTTP при загрузке файлов с помощью загрузчика мультимедиа WordPress.

В большинстве случаев эта ошибка носит временный характер и устраняется за несколько минут. Однако в других случаях это становится постоянным и требует дальнейшего изучения.

Пошаговые инструкции см. В нашем полном руководстве по исправлению ошибки загрузки изображения HTTP в WordPress.

44 Как исправить ошибку “Подключение не является частной”

50 самых распространенных ошибок WordPress и как их исправить

Ошибка «Ваше соединение не является частным» появляется на веб-сайтах, использующих протокол SSL / HTTPs, когда ваш браузер не может проверить сертификат SSL, выданный веб-сайтом.

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

Проблема в том, чтобы выяснить причину этой ошибки. Мы подготовили пошаговое руководство, чтобы легко исправить ошибку подключения, не являющуюся частной ошибкой на вашем сайте.

45 Как исправить ошибку «Срок действия ссылки, по которой вы перешли, истек» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

Хостинговые компании WordPress устанавливают ограничения на размер файлов, которые вы можете загружать, и на продолжительность работы сценария на веб-сайте. Если файл, который вы загружаете, большой или загрузка занимает больше времени, вы увидите ошибку «Срок действия ссылки истек».

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

46 ​​Сайт WordPress не обновляется сразу, проблема

50 самых распространенных ошибок WordPress и как их исправить

На вашем веб-сайте WordPress не отображаются последние внесенные вами изменения? Наиболее частая причина этой проблемы – кеширование.

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

Если ваш веб-сайт не обновляется сразу, то, скорее всего, вы просматриваете кешированную версию. Мы составили подробное руководство, которое показывает, как очистить кеш WordPress во всех популярных браузерах и плагинах кеширования.

47 Как исправить ошибку «Не удалось загрузить ресурс» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

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

Однако, если эти файлы не найдены, вы увидите ошибку «Не удалось выделить ресурс» в инструменте проверки браузера.

Самое простое решение – убедиться, что файл действительно существует на вашем сайте. Однако, если это не сработает, вам необходимо проверить свои URL-адреса WordPress, чтобы убедиться, что они верны.

Подробные инструкции см. В нашем руководстве о том, как исправить ошибку «Не удалось загрузить ресурс» в WordPress.

48 Как исправить ошибку «Отсутствует временная папка» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

WordPress временно хранит файлы во временной папке, когда вы загружаете мультимедиа, обновляете плагины и темы. Если не удается создать или записать во временную папку, загрузка завершится ошибкой с сообщением об ошибке «Отсутствует временная папка».

Чтобы исправить это, вам нужно добавить следующий код в ваш файл wp-config.php.

1

define('WP_TEMP_DIR', dirname(__FILE__). '/wp-content/temp/');

После этого вам необходимо подключиться к своему веб-сайту с помощью FTP-клиента и создать новую папку с именем «temp» внутри папки wp-content.

Для получения дополнительной информации см. Наше руководство о том, как исправить ошибку отсутствия временной папки в WordPress.

49 Как исправить ошибку «Робот Googlebot не может получить доступ к файлам CSS и JS» в WordPress

50 самых распространенных ошибок WordPress и как их исправить

Вы видите ошибки сканирования в консоли поиска Google с сообщением «Робот Googlebot не может получить доступ к ресурсам»? Чтобы понять страницу, робот Googlebot должен просмотреть ее с соответствующими файлами CSS и JavaScript.

Однако, если Google не может загрузить эти файлы, это приведет к ошибкам в отчете о покрытии вашей консоли поиска Google.

Наиболее частой причиной этой ошибки является случайная блокировка пользователями этих ресурсов с помощью файла .htaccess или robots.txt. Просмотрите оба файла в корневой папке своего веб-сайта, чтобы убедиться, что вы не блокируете статические ресурсы.

Для получения подробных инструкций следуйте нашей статье о том, как исправить ошибку Googlebot, которая не может получить доступ к файлам CSS и JS в WordPress.

50 Самостоятельное устранение ошибок WordPress

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

Новичкам может быть очень сложно выяснить, что вызывает проблему на их сайте и как их исправить.

Вот и все, мы надеемся, что это руководство помогло вам найти и исправить ошибку WordPress, с которой вы столкнулись.

Источник записи: https://www.wpbeginner.com

Понравилась статья? Поделить с друзьями:
  • Как убрать ошибки в smart
  • Как убрать ошибки в ворде при печати
  • Как убрать ошибки в minecraft
  • Как убрать ошибки в ворде выделение красным цветом
  • Как убрать ошибки в mac os