Отладка 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
в глобальном пространстве имён.
В адресной строке браузера на подопытном сайте кликните на иконку ключа и вбейте туда пароль из настроек плагина. Всё готово к работе.
Теперь в любом месте вашего кода (тема или плагин) можно написать:
PC::debug( $var );
И при обновлении страницы вы увидите попап уведомления с вашей переменной: