У меня есть проект WordPress, установленный через композитор с конфигурацией скалы.
Я использую Capistrano для развертывания.
Вот мой файл composer.json:
{
"name": "my-project",
"type": "project",
"autoload": {
"psr-0": {"Roots\\Bedrock\\Installer": "scripts"}
},
"repositories": [
{
"type": "composer",
"url": "http://wpackagist.org"}
],
"require": {
"php": ">=5.5",
"composer/installers": "~1.0",
"vlucas/phpdotenv": "~1.0",
"johnpbloch/wordpress": "~4.1",
"wp-cli/wp-cli": "~0.18"},
"scripts": {
"post-root-package-install": ["Roots\\Bedrock\\Installer::addSalts"]
},
"config": {
"bin-dir": "bin",
"generate-salts": true
},
"minimum-stability": "dev",
"prefer-stable": true,
"extra": {
"installer-paths": {
"web/app/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
"web/app/plugins/{$name}/": ["type:wordpress-plugin"],
"web/app/themes/{$name}/": ["type:wordpress-theme"]
},
"wordpress-install-dir": "web/wp"}
}
Я хочу установить язык fr_FR, поэтому я выполнил следующую команду wp-cli:
./bin/wp core language install fr_FR
Это работает как очарование на локальном, но не на сервере после развертывания capistrano. Я хочу отладить его, но я не получил ничего, кроме этой ошибки:
htdocs/current$ ./bin/wp --debug core language install fr_FR
Error: Couldn't install language.
У кого-то была эта проблема? Как это решить?
Большое спасибо.
Нашел почему.
В моей производственной конфигурации WordPress у меня было это:
define('DISALLOW_FILE_MODS', true);
Это запрещает любые изменения файлов в ядре WordPress.
Просто установите его false
чтобы это заработало.
Я должен искать, как отключить его только для wp-cli.
Это блокировало мое соединение:
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
Прокомментируйте эту строку или добавьте «downloads.wordpress.org» в разрешенные хосты:
define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org, downloads.wordpress.org,*.github.com' );