Wp-CLI не работает с WordPress, установленным через Composer

Вопрос или проблема

Я установил версию WordPress с помощью composer и изменил стандартные папки для контента (/wp-content) и ядра (/wp).

Мой wp-config.php получает свои DB_NAME, DB_USERNAME, DB_PASSWORD из переменных окружения, определенных в файле .htaccess.

Я могу подключиться к своей инстанции wordpress через браузер, так что информация о подключении там правильная.

Мне не удалось запустить wp-cli на этой инстанции. wp-cli –debug выводит:

Отладка (загрузка): Не найдено читаемое глобальное конфигурационное файл (0.014s)
Отладка (загрузка): Не найдено конфигурационного файла проекта (0.016s)
Отладка (загрузка): Не найден автозагрузчик пакетов для загрузки. (0.261s)
Отладка (загрузка): ABSPATH определен: /path/to/core/ (0.272s)
Отладка (загрузка): Начало загрузки WordPress (0.288s)
Отладка (загрузка): путь к wp-config.php: /path/to/wp-config.php (0.292s)
Ошибка: Ошибка установки соединения с базой данных

(Я дважды проверил эти пути, и они правильные)

Я продолжаю получать ту же ошибку.
Я пробовал установить чистую инстанцию с помощью composer, но на этот раз :

  • без каких-либо плагинов
  • без какой-либо темы
  • определив DB_NAME, DB_USERNAME, DB_PASSWORD непосредственно в файле wp-config.php, а не получая их из переменных окружения.
  • но я сохранил пользовательскую структуру папок /wp для ядра и /wp-content для контента

Все равно та же ошибка…
Я что-то упускаю?
Не нравится ли wp-cli пользовательская структура папок?

Выполнение wp-cli --info выводит следующее:
PHP бинарник: /usr/bin/php
Версия PHP:    5.5.36
Используемый php.ini:
Корневая директория WP-CLI:    phar://wp-cli.phar
Директория пакетов WP-CLI:
Глобальная конфигурация WP-CLI:
Конфигурация проекта WP-CLI:
Версия WP-CLI: 0.24.1

Я на Max OS X El Capitan.

Большое спасибо за вашу помощь,

Жюльен

Если вы вызываете WP-CLI из родительской директории, вам нужно указать, где находится ядро, с помощью --path

$ wp --path=path/to/core

Некоторые дополнительные детали здесь: http://wp-cli.org/config/

Вы также можете установить это с помощью конфигурационного файла wp-cli.yml, который содержит

path: path/to/core

Детали: http://wp-cli.org/config/#config-files

Старая тема, я знаю, но я недавно столкнулся с этой проблемой. Я добавил путь к wp composer в переменную окружения PATH, и следующий вывод дал ожидаемый результат:

% wp --info
OS: Darwin 21.6.0 Darwin Kernel Version 21.6.0: Пн Июн 24 00:56:10 PDT 2024; root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64
Shell:  /bin/zsh
PHP бинарник: /usr/local/bin/php
Версия PHP:    8.3.11
Используемый php.ini:   /usr/local/etc/php/8.3/php.ini
MySQL бинарник:   /usr/local/bin/mysql
Версия MySQL:  mysql  Ver 9.0.1 для macos12.7 на x86_64 (Homebrew)
SQL режимы:  
Корневая директория WP-CLI:    /usr/local/var/www/wordpress/wp-content/plugins/wp-simple-google-appointments/vendor/wp-cli/wp-cli
Директория поставщиков WP-CLI:  /usr/local/var/www/wordpress/wp-content/plugins/wp-simple-google-appointments/vendor
Путь phar WP_CLI:   
Директория пакетов WP-CLI:    
Директория кэша WP-CLI:   /Users/XxXxXxX/.wp-cli/cache
Глобальная конфигурация WP-CLI:   
Конфигурация проекта WP-CLI:  
Версия WP-CLI: 2.11.0

Но все остальное выходило без вывода и с кодом выхода ноль. Флаг --debug не показывал никаких ошибок.

Это произошло потому, что мне не хватало следующего (из раздела require-dev) в моем composer.json:

        "wp-cli/db-command" : "^2",
        "wp-cli/entity-command" : "^2",
        "wp-cli/extension-command" : "^2",
        "wp-cli/package-command" : "^2"

По умолчанию wp-cli/wp-cli просто устанавливает контейнер WPCLI без каких-либо установленных команд WPCLI!

Ответ или решение

На основе предоставленной информации, проблема с запуском WP-CLI на вашей установке WordPress, выполненной через Composer, может быть вызвана несколькими причинами. Вот рекомендации, которые могут помочь вам решить проблему "Ошибка установки соединения с базой данных":

  1. Проверка путей:
    Убедитесь, что пути к вашим файлам и папкам указаны правильно. Так как вы изменили стандартные пути для папки содержимого и ядра WordPress, вам нужно явно указать путь к ядру при запуске команды WP-CLI.

    Используйте флаг --path, чтобы указать путь к папке с ядром WordPress:

    wp --path=/path/to/core <команда>

    Либо создайте файл конфигурации wp-cli.yml в корне вашего проекта, который будет содержать:

    path: /path/to/core
  2. Проверка конфигурации базы данных:
    Если вы используете переменные окружения для конфигурации базы данных, убедитесь, что они правильно устанавливаются. Вы можете вставить в wp-config.php значения напрямую для тестирования, как вы уже делали:

    define('DB_NAME', 'ваше_имя_базы_данных');
    define('DB_USER', 'ваш_пользователь');
    define('DB_PASSWORD', 'ваш_пароль');

    Проверьте правильность доступов к базе данных (имя, пользователь, пароль и хост).

  3. Обновление WP-CLI и зависимостей:
    Убедитесь, что вы используете.latest версии WP-CLI и всех необходимых пакетов. Проверьте свой composer.json:

    "require-dev": {
       "wp-cli/db-command": "^2",
       "wp-cli/entity-command": "^2",
       "wp-cli/extension-command": "^2",
       "wp-cli/package-command": "^2"
    }

    После добавления необходимых зависимостей выполните команду:

    composer install
  4. Проверка версии PHP:
    Вы используете PHP 5.5.36, что является довольно устаревшей версией. WP-CLI рекомендует использовать более новые версии PHP (рекомендуется 7.x или выше). Попробуйте обновить PHP до последней стабильной версии, совместимой с вашей версией WordPress.

  5. Проверка наличия расширений PHP:
    Убедитесь, что все необходимые для работы WordPress расширения PHP установлены и включены. Особенно важно наличие расширений для работы с MySQL.

  6. Отладка:
    Запустите WP-CLI с флагом --debug, чтобы получить более подробную информацию о том, где именно происходит сбой:

    wp --debug <команда>

Следуя этим рекомендациям, вы должны быть способны устранить проблему с WP-CLI и успешно управлять вашей установкой WordPress, выполненной через Composer. Если у вас возникнут дополнительные вопросы, пожалуйста, предоставьте дополнительную информацию о ваших шагах и конфигурации.

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

Капча загружается...