Узнайте, что не так с вашим WordPress с помощью DebugPress

Опубликовано: 2020-10-13

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

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

Установка и настройка DebugPress

DebugPress — это разработчик плагинов для WordPress от Милана Петровича, который вы можете найти в каталоге плагинов WordPress.org. Это означает, что вы можете перейти к своей установке WordPress, получить доступ к меню «Плагины» и добавить новый. Просто выполнив поиск по ключевому слову « DebugPress », вы найдете плагин и сможете загрузить и активировать его оттуда.

После того, как вы активировали его в своем WordPress, перейдите к настройкам DebugPress (в меню «Настройки»), чтобы настроить плагин:

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

Точно так же я включил DebugPress для отслеживания всех ошибок и предупреждений PHP, а также вызовов AJAX и других параметров. Кроме того, чтобы DebugPress мог отображать информацию о SQL-запросах и активности в журнале ошибок WordPress, я определил следующие константы в файле wp-config.php моей установки:

 define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', true); define('SAVEQUERIES', true);

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

Две другие константы активируют журнал ошибок (файл debug.log , который хранится в папке /wp-content/ вашей установки) и хранилище запросов, о котором мы говорили. Обратите внимание, что вы можете не определять эти константы, но тогда некоторые панели DebugPress не будут отображать столько информации, сколько возможно.

Значок для просмотра панели DebugPress появляется в правой части верхней панели WordPress.
Значок для открытия панелей DebugPress появляется в правой части верхней панели администратора WordPress.

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

Там DebugPress предоставляет вам информацию о вашей установке WordPress и о том, что происходит, когда вы получаете доступ к внешнему интерфейсу вашего сайта.

Информационные панели DebugPress

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

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

Панель Основы DebugPress.
Панель Основы DebugPress.

Кроме того, в DebugPress у вас есть статистика загрузки страницы. Это особенно полезно, чтобы увидеть, не потребовалось ли для загрузки страницы больше времени, чем ожидалось, а также узнать количество выполненных SQL-запросов, количество выполненных перехватчиков и объем памяти, который использовал PHP.

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

Панель запросов в DebugPress.
Панель запроса DebugPress.

На вкладке « Администратор » у вас есть данные о текущей странице панели управления WordPress. При доступе к редакционному календарю Nelio Content в моей установке я вижу значение переменной $pagenow , а также значения текущего экрана :

Панель администратора в DebugPress
Панель администратора DebugPress.

Одна из самых интересных вкладок в DebugPress — Content . Здесь вы можете увидеть весь список пользовательских типов записей, зарегистрированных в WordPress, а также пользовательские таксономии и статусы записей. Кроме того, вы можете развернуть каждый из этих типов и просмотреть их значения.

Панель содержимого DebugPress.
Панель содержимого DebugPress.

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

Панель констант DebugPress.
Панель констант DebugPress.

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

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

Панель SQL-запросов DebugPress.
Панель SQL-запросов DebugPress.

На вкладке DebugPress User у нас есть вся информация о текущем пользователе. Сюда входит как информация, которую мы можем найти в таблице wp_users , так и в таблице wp_usermeta базы данных WordPress.

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

Пользовательская панель DebugPress.
Пользовательская панель DebugPress.

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

Теперь мы можем попросить тех пользователей, которые более неохотно предоставляют нам доступ к своей установке WordPress, установить DebugPress и поделиться с нами снимком экрана с вкладкой Enqueue, чтобы увидеть, есть ли скрипты, которые не загружаются должным образом. Устранение неполадок с этой информацией должно быть проще.

Панель постановки в очередь DebugPress.
Панель постановки в очередь DebugPress.

В панели PHP мы можем увидеть информацию, содержащуюся в переменных PHP $_SERVER , $_REQUEST _REQUEST и $_COOKIE для запроса текущей страницы:

Панель управления DebugPress для PHP.
PHP-панель DebugPress.

Также во вкладке « Система » у нас есть общая информация о сервере WordPress. Здесь важно иметь возможность видеть используемую вами версию PHP, IP-адрес сервера и некоторые ограничения на размер загрузки и время выполнения:

Системная панель DebugPress.
Системная панель DebugPress.

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

Панель DebugPress AJAX.
Панель DebugPress AJAX.

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

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

Просмотр журнала WordPress в DebugPress.
Просмотр журнала WordPress в DebugPress.

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

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

При попытке загрузить информацию из журнала WordPress DebugPress выдает ошибку, которую мы можем видеть с самим DebugPress.
При попытке загрузить информацию из журнала WordPress DebugPress выдает ошибку AJAX, которую мы можем увидеть с помощью самого DebugPress.

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

Мнение о DebugPress

Хотя со всей информацией, которую предоставляет нам DebugPress, можно ознакомиться с помощью других средств, самое ценное в этом плагине — иметь всю ее в одном месте.

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

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

Избранное изображение Сюань Нгуен на Unsplash.