Отладка WordPress при помощи PHP Console

PHP Console позволяет обрабатывать РНР ошибки и исключения, делать дампы перемнных, удаленно выполнять РНР-код и многие другие вещи, используя расширение для браузера Google Chrome PHP Console и серверную библиотеку PhpConsole.

Беглый обзор PHP Console

Для начала посмотрите презентационное видео с возможностями расширения.

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

Возможности расширения PHP Chrome

  • Нет ненужных иконок на тулбаре браузера, только в адресной строке (когда включено на сервере)
  • Настраивается по нажатию на пиктограмму в адресной строке
  • PHP ошибки, исключения и дампы данных выводятся в JavaScript консоль(Ctrl+Shift+J)
    • Группировка данных по URL запроса
    • Обработка сообщений с переадресованных страниц
    • Отображение источника ошибки или исключения и трассировка
  • Вывод PHP ошибок, исключений и дампов данных в стандартные попапы уведомлений браузера
    • Автоскрытие по таймеру (опционально)
    • Переход на файл:строка в вашу IDE при клике на кнопку внутри уведомления(всё настраивается)
    • Копирование в буфер обмена по кнопке (опционально)
  • Вывод JavaScript ошибок в нотификейшены (смотрите опции)
    • Игнорирование повторяющихся ошибок
    • Игнорирование внутренних ошибок расширений Google Chrome
    • Не переопределяет пользовательские обработчики ошибок JavaScript
  • Защита паролем
  • Удалённое выполнение PHP-кода
  • Обрезает длинные пути к файлам
  • Опциональное игнорирование вывода дампа переменных по тэгу
  • Опциональное игнорирование по типу ошибок
  • Перехват ошибок со страницы, ифрейма или ajax-запросов

Более наглядно эти возможности можно увидеть на скриншотах

Возможности серверной библиотеки PHP Console

  • Connector
    • Работает с разными кодировками сервера
    • Оптимизированная инициализация(может быть испольован на серверах под нагрузками)
    • Поддерживает режим соединения только по HTTPS
    • Защита соединения только по списку разрешённых IP масок
  • Handler
    • Обработка PHP ошибок(+фатальные и лимит памяти) и исключений
    • Игнорирование одинаковых ошибок
    • Вызов определённых ранее обработчиков ошибок и исключений
  • Dumper
    • Дамп переменных любого типа
    • Дамп protected & private свойств и имени классов объектов
    • Ограничение дампов по уровню вложенности, количеству элементов, размеру элемента и дампа
    • Текстовое представление callback-ов и Closure
    • Автоопределение строки: файла и backtrace вызова дампа(опционально)
  • Auth
    • Защита соединения по паролю
    • Авторизационные токены хешируются SHA-256, с привязкой к IP клиента
  • EvalProvider
    • Удалённое выполнение PHP кода только в защищённом паролем режиме
    • Каждый запрос подписывается SHA-256 хешем от строки кода и авторизационного токена
    • Результат содержит: «output», «return» и «time» данные
    • Обработка PHP ошибок и исключений в выполняемом коде
    • Добавление переменных для быстрого доступа из кода выполняемого в терминале
    • Защита доступа к файловой системе посроедством PHP опции “open_basedir”
  • Helper — регистрирует глобальный класс PC для более короткого вызова дампа переменных
  • PsrLogger — реализация интерфейса PSR-3 логгера
  • OldVersionAdapter — для миграции с PhpConsole v1.* на v3.* без изменения кода

Зависимости

  • Расширение PHP Console
  • PHP 5.3 (или выше) на сервере.

Для проектов на PHP < 5.3 можно использовать устаревшую версию PHP Console.

Как использовать в WordPress

Установите расширение PHP Console для браузера Google Chrome и плагин WP PHP Console (зеркало) для CMS WordPress.

После установки плагина WP PHP Console зайдите в его настройки, задайте пароль доступа и включите опцию Register PC Class — регистрация класса PC в глобальном пространстве имён.

wp-php-console

В адресной строке браузера на подопытном сайте кликните на иконку ключа и вбейте туда пароль из настроек плагина. Всё готово к работе.

PHP-Console-Authorization

Теперь в любом месте вашего кода (тема или плагин) можно написать:

PC::debug( $var );

И при обновлении страницы вы увидите попап уведомления с вашей переменной:

PHP-Console-debug-var

Источник: https://www.kobzarev.com/programming/php-console/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: