WP-CLI 是不是与在 AWS Lightsail 上安装的 Bitnami 的 Wordpress 不兼容?

Posted

技术标签:

【中文标题】WP-CLI 是不是与在 AWS Lightsail 上安装的 Bitnami 的 Wordpress 不兼容?【英文标题】:Is WP-CLI incompatible with Bitnami's Wordpress install on AWS Lightsail?WP-CLI 是否与在 AWS Lightsail 上安装的 Bitnami 的 Wordpress 不兼容? 【发布时间】:2018-03-31 03:16:31 【问题描述】:

在 Ubuntu 上使用新的 Wordpress 实例,我通过 these instructions 安装了 wp-cli。我试过downloading the .phar package, chmodding it, etc。我也试过installing a .deb package。在这两种情况下,我在运行 wp plugin update --all --debug 时都会遇到相同的错误:

Debug (bootstrap): No readable global config found (0.057s)
Debug (bootstrap): No project config found (0.057s)
Debug (bootstrap): argv: /usr/local/bin/wp plugin update --all --debug (0.057s)
Debug (bootstrap): ABSPATH defined: /opt/bitnami/apps/wordpress/htdocs/ (0.058s)
Debug (bootstrap): Begin WordPress load (0.058s)
Debug (bootstrap): wp-config.php path: /opt/bitnami/apps/wordpress/htdocs/wp-config.php (0.058s)
PHP Notice:  Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 90
PHP Notice:  Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 91
Debug (bootstrap): Loaded WordPress (0.188s)
Debug (bootstrap): Running command: plugin update (0.188s)
Downloading update from https://downloads.wordpress.org/plugin/akismet.4.0.zip...
Using cached file '/home/bitnami/.wp-cli/cache/plugin/akismet-4.0.zip'...
Unpacking the update...
Warning: Could not create directory.
Downloading update from https://downloads.wordpress.org/plugin/all-in-one-wp-migration.6.58.zip...
Using cached file '/home/bitnami/.wp-cli/cache/plugin/all-in-one-wp-migration-6.58.zip'...
Unpacking the update...
Warning: Could not create directory.
Downloading update from https://downloads.wordpress.org/plugin/all-in-one-seo-pack.2.4.2.zip...
Using cached file '/home/bitnami/.wp-cli/cache/plugin/all-in-one-seo-pack-2.4.2.zip'...
Unpacking the update...
Warning: Could not create directory.
Downloading update from https://downloads.wordpress.org/plugin/google-analytics-for-wordpress.6.2.4.zip...
Using cached file '/home/bitnami/.wp-cli/cache/plugin/google-analytics-for-wordpress-6.2.4.zip'...
Unpacking the update...
Warning: Could not create directory.
Downloading update from https://downloads.wordpress.org/plugin/jetpack.5.4.zip...
Using cached file '/home/bitnami/.wp-cli/cache/plugin/jetpack-5.4.zip'...
Unpacking the update...
Warning: Could not create directory.
+--------------------------------+-------------+-------------+--------+
| name                           | old_version | new_version | status |
+--------------------------------+-------------+-------------+--------+
| akismet                        | 3.3.4       | 4.0         | Error  |
| all-in-one-wp-migration        | 6.55        | 6.58        | Error  |
| all-in-one-seo-pack            | 2.3.15      | 2.4.2       | Error  |
| google-analytics-for-wordpress | 6.2.0       | 6.2.4       | Error  |
| jetpack                        | 5.2.1       | 5.4         | Error  |
+--------------------------------+-------------+-------------+--------+
Success: Plugins already updated.

我已经使用了list of support options,但仍然无法让 wp-cli 在 AWS Lightsail(又名 Bitnami)上正常工作。查看github 和wordpress.org forums,我发现很多用户都遇到了上述部分或全部错误。我尝试了所有建议的解决方法:

wp-config.php:将 ABSPATH 行换成一个条件。 wp-config.php:将 add_filter() 调用移动到 MU 插件中。 几个chmodchown 更改。

其中一些确实使它们各自的错误消失了,但wp 仍然无法更新插件等。

我是否需要创建在 PHP 调试输出中标识的缺失文件?

我是否应该不使用 AWS Lightsail/Bitnami?我真的需要wp-cli,所以我愿意转至 ec2 或其他任何地方。

【问题讨论】:

【参考方案1】:

我在那里看到两个不同的问题。

    您在wp-config.php 文件中使用了$_SERVER['HTTP_HOST'], 在运行 WP-CLI 时未设置。由于 WP-CLI 作为 命令行工具,一些仅限 Web 的 PHP 常量/变量是 没有设置。您需要手动设置这些或提供 条件覆盖。

    WordPress 本身无法创建一个目录来解压 下载的插件存档文件。这可能是由于 1. 以上(如 WordPress 可能正在寻找错误的位置),或者它可能是 不相关的问题,例如使用不同的用户运行 WP-CLI 没有所需的权限。

这两个问题都不是由 WP-CLI 直接引起的,而是您的 WordPress 安装的特定设置的结果。

【讨论】:

谢谢。我正在使用随 Wordpress 的 Bitnami 安装提供的 wp-config.php 文件。我可以简单地下载或创建一个与 WP-CLI 兼容的文件版本吗? 我不知道那个文件包括什么。我不得不假设他们在那里有一些特殊的配置,所以仅仅下载一个标准的配置文件可能会破坏一些东西。【参考方案2】:

Bitnami 开发者在这里。

您可以尝试以daemon 用户身份运行命令吗?

 sudo su -s /bin/bash daemon

这是对服务器有写入权限的用户

【讨论】:

这就是解决方案。谢谢!这正是我必须做的,按顺序:sudo su -s /bin/bash daemon export PATH=/opt/bitnami/varnish/bin:/opt/bitnami/sqlite/bin:/opt/bitnami/php/bin:/opt/bitnami/mysql/bin:/opt/bitnami/apache2/bin:/opt/bitnami/common/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games cd /home/bitnami/apps/wordpress/htdocs wp plugin update --all --debug ... Success: Updated 5 of 5 plugins. 另请参阅下面我使用您的解决方案的格式更好的版本。再次感谢。【参考方案3】:

谢谢哈维尔·萨梅隆!这正是我必须做的,按顺序:

sudo su -s /bin/bash daemon

export PATH=/opt/bitnami/varnish/bin:/opt/bitnami/sqlite/bin:/opt/bitnami/php/bin:/opt/bitnami/mysql/bin:/opt/bitnami/apache2/bin:/opt/bitnami/common/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

cd /home/bitnami/apps/wordpress/htdocs

现在它起作用了,因为以下是正确的:

    我是用户daemon。 我的$PATH 能够找到/opt/bitnami/php/bin/php。 我在正确的目录中:/home/bitnami/apps/wordpress/htdocs

以下命令运行成功:wp plugin update --all --debug

Debug (bootstrap): No readable global config found (0.058s)
Debug (bootstrap): No project config found (0.059s)
Debug (bootstrap): argv: /usr/local/bin/wp plugin update --all --debug (0.059s)
Debug (bootstrap): ABSPATH defined: /opt/bitnami/apps/wordpress/htdocs/ (0.059s)
Debug (bootstrap): Begin WordPress load (0.061s)
Debug (bootstrap): wp-config.php path: /opt/bitnami/apps/wordpress/htdocs/wp-config.php (0.061s)
Debug (bootstrap): Loaded WordPress (0.678s)
Debug (bootstrap): Running command: plugin update (0.679s)
PHP Warning:  mkdir(): Permission denied in phar:///usr/local/bin/wp/php/WP_CLI/FileCache.php on line 265
Warning: mkdir(): Permission denied in phar:///usr/local/bin/wp/php/WP_CLI/FileCache.php on line 265
Downloading update from https://downloads.wordpress.org/plugin/akismet.4.0.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
Downloading update from https://downloads.wordpress.org/plugin/all-in-one-wp-migration.6.59.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
Downloading update from https://downloads.wordpress.org/plugin/all-in-one-seo-pack.2.4.2.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
Downloading update from https://downloads.wordpress.org/plugin/google-analytics-for-wordpress.6.2.4.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
Downloading update from https://downloads.wordpress.org/plugin/jetpack.5.4.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
+--------------------------------+-------------+-------------+---------+
| name                           | old_version | new_version | status  |
+--------------------------------+-------------+-------------+---------+
| akismet                        | 3.3.4       | 4.0         | Updated |
| all-in-one-wp-migration        | 6.55        | 6.59        | Updated |
| all-in-one-seo-pack            | 2.3.15      | 2.4.2       | Updated |
| google-analytics-for-wordpress | 6.2.0       | 6.2.4       | Updated |
| jetpack                        | 5.2.1       | 5.4         | Updated |
+--------------------------------+-------------+-------------+---------+
Success: Updated 5 of 5 plugins.

【讨论】:

以上是关于WP-CLI 是不是与在 AWS Lightsail 上安装的 Bitnami 的 Wordpress 不兼容?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 ChromeCast 与在 AWS ELB 后面运行的发送者应用程序一起工作

AWS Sagemaker boto3 - 通过端点预测与在本地运行模型获得不同的预测

AWS Backup 能否与在 EC2 实例上运行 Oracle 的 Windows 2012 服务器一起使用?

apache_conf 我的`〜/ .wp-cli / config.yml`文件用于将WP-CLI和WP-CLI Valet命令弯曲到我的意愿

如何让我的Lambda函数与在本地计算机上运行的服务器通信?

text wp-cli #memo