TL;DR:
跑步wp version --debug
检查一下wp-cli.yml
已找到,请检查ABSPATH
WP-CLI设置与安装WP的目录匹配查看find_wp_root()
关于为什么会找到错误文件夹的提示,文档说:
当前工作目录内(or upwards)
。。。因此,您应该能够在父目录中使用它,而不仅仅是在您调用wp
从…起i、 例如,您应该能够在安装Core的文件夹上方的多个级别上调用它,然后从以下目录的任何位置调用它wp-cli.yml
已安装[1].
曾经是wp-cli.yml
是否包含
您可以通过运行
wp version --debug
找到:Debug: Using project config: /var/www/example.localhost/wp-cli.yml (0.012s)
找不到:Debug: No project config found (0.014s)
ABSPATH 是否正确设置注:这是ABSPATH
WP-CLI内部定义,not 你的wp-config.php
WP-CLI的内部ABSPATH
是用来查找WordPress的[2, 3], 所以如果是错的,你会得到This does not seem to be a WordPress install
错误
要知道是不是错了,你可以跑wp version --debug
从几个不同的目录中ABSPATH
输出它是否与安装Core的文件夹的实际路径匹配?
假设WP的路径为/var/www/example.localhost/web/wordpress/
, 然后:
正确:Debug: ABSPATH defined: ABSPATH defined: /var/www/example.localhost/web/wordpress/ (0.013s)
错误:Debug: ABSPATH defined: /var/www/example.localhost/web/content/plugins/akismet/wordpress/ (0.019s)
请记住,任何通过参数传递的参数(例如。,wp --path=foo
) 将覆盖中的值wp-cli.yml
.
为什么是ABSPATH
错了吗
可能有很多不同的原因导致它出错,因为这取决于文件夹结构的设置方式
path
定义于
wp-cli.yml
, 等
ABSPATH
设置为的值find_wp_root()
[4, 5, 6], 因此,您需要从这里开始进行故障排除。
你可以通读find_wp_root()
然后在脑海中逐步浏览代码,寻找线索。如果您有WP-CLIinstalled via composer, 然后您还可以编辑Runner.php
将调试输出添加到find_wp_root()
, 使用Xdebug等。
在我的例子中,我为wp
那是过去的事--path
命令,该命令覆盖path
产生wp-cli.yml
, 但我忘了。