就好像你想跑:
wp plugin status --path=$(/home/me/domains/example.com/public_html)
因为要计算backticks get中的内容。
Here\'s 有关在命令行中使用反勾号的详细信息。
让我引用一下@rozcietrzewiacz:
Backtick is not a quotation sign, 它有一个非常特殊的意义。在反勾号之间键入的所有内容都由shell在主命令[…]之前进行计算(执行)
备选方案:
wp plugin status --path=/home/me/domains/example.com/public_html
wp plugin status --path="/home/me/domains/example.com/public_html"
wp plugin status --path=\'/home/me/domains/example.com/public_html\'
当我使用
wp-skeleton 设置,我必须指向
wp/
核心文件夹,而不是其上方包含
wp-config.php
文件
更新:
Runner 我们的课程:
/**
* Do WordPress core files exist?
*
* @return bool
*/
private function wp_exists() {
return is_readable( ABSPATH . \'wp-includes/version.php\' );
}
当我们开始
ABSPATH
具有
--path=/home/me/domains/example.com/public_html/
看起来我们正在使用:
/**
* Set WordPress root as a given path.
*
* @param string $path
*/
private static function set_wp_root( $path ) {
define( \'ABSPATH\', rtrim( $path, \'/\' ) . \'/\' );
WP_CLI::debug( \'ABSPATH defined: \' . ABSPATH, \'bootstrap\' );
$_SERVER[\'DOCUMENT_ROOT\'] = realpath( $path );
}
然后:
is_readable( \'/home/me/domains/example.com/public_html/wp-includes/version.php\' )
由于使用wp skeleton设置,核心目录为:
/home/me/domains/example.com/public_html/wp/
该测试是必要的,但还不够。还有其他测试,例如
Runner::find_wp_root()
方法
当OP位于以下位置时,其工作的原因:
/home/me/domains/example.com/public_html/
可能是因为
Runner::extract_subdir_path()
方法,该方法扫描
index.php
使用文件:
$index_code = file_get_contents( $index_path );
if ( !preg_match(
\'|^\\s*require\\s*\\(?\\s*(.+?)/wp-blog-header\\.php([\\\'"])|m\',
$index_code,
$matches
)
) {
return false;
}
获取
wp-blog-header.php
找到文件并将其设置为
$wp_path
.