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}...] [--all] [--spotlight] [--config={file}] [--fields={fields}]
[--format={format}]
Можно указать Глобальные параметры и следующие:
[{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}] [--fields={fields}] [--format={format}]
Можно указать Глобальные параметры и следующие:
[--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. | +----------------------------+--------------------------------------------------------------------------------+