更改WP CLI缓存文件夹

时间:2017-05-21 作者:Luka

作为一个高度关注的托管公司所有者,我正在使用WP-CLI更新我客户的插件、主题和WP核心。

更新WP核心

find /home/*/public_html -name "wp-admin" -execdir /home/wp core update --allow-root \\;
更新插件

find /home/*/public_html -name "wp-admin" -execdir /home/wp plugin update-all --allow-root \\;
更新主题

find /home/*/public_html -name "wp-admin" -execdir /home/wp theme update-all --allow-root \\;
一切都运行得非常好,但我只想更改WP-CLI的缓存文件夹,因为我不希望它存储在/root/wp-cli/.cache

它实际上并没有在那里存储任何内容,因为我启用了Open base dir,如何更改wp cli的缓存文件夹的位置?有语法吗?我在上面找不到任何文档

PHP Warning:  file_exists(): open_basedir restriction in effect. File(/root/.wp-cli/cache/) is not within the allowed path(s): (/home:/tmp:/opt/cpanel/composer/bin/composer) in phar:///home/wp/php/WP_CLI/FileCache.php on line 261
老实说,我不知道缓存文件夹的用途是什么,但由于wp cli无法使用它,我只是担心某些东西会失败,但到目前为止它没有。

2 个回复
最合适的回答,由SO网友:birgire 整理而成

您可以尝试通过environment variable:

WP_CLI_CACHE_DIR
正如我们在WP_CLI::get_cache() 方法(src):

$dir = getenv( \'WP_CLI_CACHE_DIR\' ) ? : "$home/.wp-cli/cache";
您还可以查看问题#1848 - 使用共享缓存目录进行多次安装了解用法示例。

在《WP-CLI手册》中make.wordpress.org, 我们有一个list WP-CLI使用的环境变量。

SO网友:Luka

这就是我最终如何做到这一点的,这是我为在cPanel服务器上更新主题、插件和wp核心而编写的脚本

#!/bin/bash

rm -rf /home/wp
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /home/wp
chmod +x /home/wp
sleep 5

Red=\'\\033[0;31m\'
Color_Off=\'\\033[0m\'

echo -e "$Red Updating WP core $Color_Off";

for i in `ls /var/cpanel/users/`; do sudo -H -u $i cp /home/wp /home/$i/wp && sudo -H -u $i find /home/$i/public_html -name \'wp-admin\' -execdir /usr/local/bin/php /home/$i/wp core update \\; && sudo -H -u $i rm -rf /home/$i/wp ; done

echo -e "$Red Updating plugins $Color_Off";

for i in `ls /var/cpanel/users/`; do sudo -H -u $i cp /home/wp /home/$i/wp && sudo -H -u $i find /home/$i/public_html -name \'wp-admin\' -execdir /usr/local/bin/php /home/$i/wp plugin update-all \\; && sudo -H -u $i rm -rf /home/$i/wp ; done

echo "$Red Updating themes $Color_Off";

for i in `ls /var/cpanel/users/`; do sudo -H -u $i cp /home/wp /home/$i/wp && sudo -H -u $i find /home/$i/public_html -name \'wp-admin\' -execdir /usr/local/bin/php /home/$i/wp theme update-all \\; && sudo -H -u $i rm -rf /home/$i/wp ; done

结束

相关推荐

WP-CLI上的PHP解析错误,而不是Web服务器上的

我有一个超过100个站点的网络,我尝试使用wp cli对其中许多站点进行批量更改。特别是通过wp--url=site访问他们的wp\\u x\\u选项表。url选项更新然而,wp命令在我的几个文件中失败,严重限制了该工具的实用性,尤其是在尝试使用url列表| xargs wp--url={}。。。因为在第一次失败后,将跳过其余部分。我得到的错误总是一样的:PHP Parse error: syntax error, unexpected end of file in ... /functions.php&