Вопрос или проблема
Я установил версию 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
Старая тема, я знаю, но я недавно столкнулся с этой проблемой. Я добавил путь к 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, может быть вызвана несколькими причинами. Вот рекомендации, которые могут помочь вам решить проблему "Ошибка установки соединения с базой данных":
-
Проверка путей:
Убедитесь, что пути к вашим файлам и папкам указаны правильно. Так как вы изменили стандартные пути для папки содержимого и ядра WordPress, вам нужно явно указать путь к ядру при запуске команды WP-CLI.Используйте флаг
--path
, чтобы указать путь к папке с ядром WordPress:wp --path=/path/to/core <команда>
Либо создайте файл конфигурации
wp-cli.yml
в корне вашего проекта, который будет содержать:path: /path/to/core
-
Проверка конфигурации базы данных:
Если вы используете переменные окружения для конфигурации базы данных, убедитесь, что они правильно устанавливаются. Вы можете вставить вwp-config.php
значения напрямую для тестирования, как вы уже делали:define('DB_NAME', 'ваше_имя_базы_данных'); define('DB_USER', 'ваш_пользователь'); define('DB_PASSWORD', 'ваш_пароль');
Проверьте правильность доступов к базе данных (имя, пользователь, пароль и хост).
-
Обновление 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
-
Проверка версии PHP:
Вы используете PHP 5.5.36, что является довольно устаревшей версией. WP-CLI рекомендует использовать более новые версии PHP (рекомендуется 7.x или выше). Попробуйте обновить PHP до последней стабильной версии, совместимой с вашей версией WordPress. -
Проверка наличия расширений PHP:
Убедитесь, что все необходимые для работы WordPress расширения PHP установлены и включены. Особенно важно наличие расширений для работы с MySQL. -
Отладка:
Запустите WP-CLI с флагом--debug
, чтобы получить более подробную информацию о том, где именно происходит сбой:wp --debug <команда>
Следуя этим рекомендациям, вы должны быть способны устранить проблему с WP-CLI и успешно управлять вашей установкой WordPress, выполненной через Composer. Если у вас возникнут дополнительные вопросы, пожалуйста, предоставьте дополнительную информацию о ваших шагах и конфигурации.