wp doctor
Выявляет проблемы в WordPress, с помощью серии тестов.
Пакет doctor позволяет легко запустить серию настраиваемых проверок для диагностики слабых мест в работе WordPress.
Благодаря этому пакету можно хорошо экономить время, быстро выявляя слабые места ваших установок WordPress, кодируя диагностические процедуры в виде серии проверок для запуска с помощью WP-CLI. Пакет wp doctor поставляется с десятками проверок из коробки (см. ниже) и позволяет создать свой файл doctor.yml для создания шаблона проверок.
Каждая проверка содержит Имя, Статус ("success", "warning" или "error") и Сообщение о том что не так. Например, проверка cron-count - позволяет быстро убедиться что WP не переполнен крон задачами:
$ wp doctor check cron-count +------------+---------+--------------------------------------------------------------------+ | name | status | message | +------------+---------+--------------------------------------------------------------------+ | cron-count | success | Total number of cron jobs is within normal operating expectations. | +------------+---------+--------------------------------------------------------------------+
Нужно передать результаты в другую систему? Используйте флаги --format=json или --format=csv для отображения проверок в соотвествующем формате.
Пакет может расширяться. Создайте свой файл doctor.yml для определения дополнительных проверок, которые вы считаете необходимыми для вашей системы:
plugin-w3-total-cache: check: Plugin_Status options: name: w3-total-cache status: uninstalled
Затем, запустите этот файл используя параметр --config=<file>:
$ wp doctor check --fields=name,status --all --config=doctor.yml +-----------------------+--------+ | name | status | +-----------------------+--------+ | plugin-w3-total-cache | error | +-----------------------+--------+
Смотрите пример использования этого пакета для нахождения объемных авто-загружаемых опций.
Установка пакета
Этот пакет команд нужно устанавливать отдельно (его нет в базовой установке WP-CLI).
Используйте команду wp package install, чтобы установить пакет команды. После успешной установки пакета в списке доступных команд появится команда wp doctor.
wp package install wp-cli/doctor-command
Установка этого пакета требует последнюю стабильную версию WP-CLI, обновится можно командой wp cli update.
| Список команд | Описание |
|---|---|
| wp doctor check | Запустите серию проверок WordPress, чтобы выявить возможные проблемы на сайте. |
| wp doctor list | Список всех проверок, которые можно запустить. |
Исходный код команд
wp doctor check
Запустите серию проверок WordPress, чтобы выявить возможные проблемы на сайте.
Проверка — это rutin, выполняемый против некоторой области WordPress, который сообщает о 'status' и 'message'. Статус может быть 'успех', 'предупреждение' или 'ошибка'. Сообщение — это понятное объяснение статуса. Если одна из проверок не удалась, то команда завершит свою работу с кодом 1.
Использование
wp doctor check
Можно указать Глобальные параметры и следующие:
- [{checks}...]
Имя проверки, которую нужно запустить. Какие проверки существуют можно посмотреть командой
wp doctor list. Список возможных проверок на апрель 2020 года:- autoload-options-size — Предупреждает, когда размер автозагружаемых опций превышает порог в 900 кб.
- constant-savequeries-falsy — Подтверждает ожидаемое состояние константы SAVEQUERIES.
- constant-wp-debug-falsy — Подтверждает ожидаемое состояние константы WP_DEBUG.
- core-update — Ошибка, когда доступно новое незначительное обновление WordPress; предупреждает о значительном обновлении.
- core-verify-checksums — Проверяет файлы WordPress на соответствие опубликованным контрольным суммам; ошибка при сбое.
- cron-count — Ошибка, когда зарегистрировано более 50 общих задач cron.
- cron-duplicates — Ошибка, когда зарегистрировано более 10 дублирующих задач cron.
- file-eval — Проверяет файлы в файловой системе на совпадение с регулярным выражением eval\(.*base64_decode\(.*.
- option-blog-public — Подтверждает ожидаемое значение опции 'blog_public'.
- plugin-active-count — Предупреждает, когда активировано более 80 плагинов.
- plugin-deactivated — Предупреждает, когда более 40% плагинов деактивированы.
- plugin-update — Предупреждает, когда доступны обновления плагинов.
- theme-update — Предупреждает, когда доступны обновления тем.
- cache-flush — Определяет количество вызовов функции wp_cache_flush().
- php-in-upload — Предупреждает, когда файл PHP присутствует в папке Загрузок.
- language-update — Предупреждает, когда доступны обновления языка.
- [--all]
- Запустить все зарегистрированные проверки.
- [--spotlight]
- Сосредоточиться на предупреждениях и ошибках; игнорировать любые успешные проверки.
- [--config={file}]
- Использовать проверки, зарегистрированные в определенном конфигурационном файле.
- [--fields={fields}]
- Ограничить вывод конкретными полями. По умолчанию: name,status,message.
- [--format={format}]
Отобразить результаты в определенном формате.
По умолчанию: table
Может быть:- table
- json
- csv
- yaml
- count
Примеры
# Проверить, что ядро WordPress актуально. $ wp doctor check core-update +-------------+---------+-----------------------------------------------------------+ | name | status | message | +-------------+---------+-----------------------------------------------------------+ | core-update | warning | Доступна новая версия WordPress для обновления. | +-------------+---------+-----------------------------------------------------------+
# Проверить, что сайт публичный, как и ожидалось. $ wp doctor check option-blog-public +--------------------+--------+--------------------------------------------+ | name | status | message | +--------------------+--------+--------------------------------------------+ | option-blog-public | error | Сайт приватный, но ожидается, что он будет публичным. | +--------------------+--------+--------------------------------------------+
# Выполнить проверку autoload-options-size $ wp doctor check autoload-options-size +-----------------------+---------+------------------------------------------------------------+ | name | status | message | +-----------------------+---------+------------------------------------------------------------+ | autoload-options-size | warning | Размер автозагружаемых опций (2.62mb) превышает порог (900kb) | +-----------------------+---------+------------------------------------------------------------+
wp doctor list
Список всех проверок, которые можно запустить.
Использование
wp doctor list
Можно указать Глобальные параметры и следующие:
- [--config={file}]
- Use checks registered in a specific configuration file.
- [--fields={fields}]
- Limit the output to specific fields. Defaults to name,description.
- [--format={format}]
Render output in a specific format.
По умолчанию: table
Может быть:- table
- json
- csv
- count
Примеры
$ wp doctor list +----------------------------+--------------------------------------------------------------------------------+ | name | description | +----------------------------+--------------------------------------------------------------------------------+ | autoload-options-size | Warns when autoloaded options size exceeds threshold of 900 kb. | | constant-savequeries-falsy | Confirms expected state of the SAVEQUERIES constant. | | constant-wp-debug-falsy | Confirms expected state of the WP_DEBUG constant. | | core-update | Errors when new WordPress minor release is available; warns for major release. | | core-verify-checksums | Verifies WordPress files against published checksums; errors on failure. | | cron-count | Errors when there's an excess of 50 total cron jobs registered. | | cron-duplicates | Errors when there's an excess of 10 duplicate cron jobs registered. | | file-eval | Checks files on the filesystem for regex pattern `eval\(.*base64_decode\(.*`. | | option-blog-public | Confirms the expected value of the 'blog_public' option. | | plugin-active-count | Warns when there are greater than 80 plugins activated. | | plugin-deactivated | Warns when greater than 40% of plugins are deactivated. | | plugin-update | Warns when there are plugin updates available. | | theme-update | Warns when there are theme updates available. | | cache-flush | Detects the number of occurrences of the `wp_cache_flush()` function. | | php-in-upload | Warns when a PHP file is present in the Uploads folder. | | language-update | Warns when there are language updates available. | +----------------------------+--------------------------------------------------------------------------------+