1

我正在尝试从 crontab 执行 wp cli

我做了以下

首先我创建 .sh 文件包含以下内容:

   #!/bin/bash
   declare -a sites=('/home2/musite/public_html' )
   for site in "${sites[@]}";
   do
   /usr/local/bin/wp --path=$site --skip-plugins=wp-fastest-cache cron event run -  -all 
done

我尝试手动运行 sh 并且它运行正确,但是当我安排文件通过 crontab 自动运行时,我收到以下错误:

PHP 警告:array_slice() 期望参数 1 为数组,在 phar:///usr/local/bin/wp/php/WP_CLI/Runner.php 第 622 行给出 null 内容类型:text/html;字符集=UTF-8


警告:array_slice() 期望参数 1 为数组,在phar:///usr/local/bin/wp/php/WP_CLI/Runner.php中的第622
PHP 警告:为 phar 中的 foreach() 提供的参数无效:///usr/local/bin/wp/php/WP_CLI/Configurator.php 第 132 行
警告:在phar:///usr/local/bin/wp/php/WP_CLI/Configurator中为 foreach() 提供的参数无效.php在第132
行PHP 警告:proc_open():描述符项必须是数组或文件句柄在 phar:///usr/local/bin/wp/php/commands/help.php 第 111 行
警告: proc_open():描述符项必须是数组或phar:///usr/local/bin/wp/php/commands/help.php中的文件句柄在第111
行PHP 警告:proc_close() 期望参数 1 是资源,在 phar:///usr/local/bin/wp/php/commands/help.php 中给出的布尔值在第 111 行
警告:proc_close() 期望参数 1作为资源,在第111行的phar:///usr/local/bin/wp/php/commands/help.php中给出的布尔值

你能帮我做很多研究吗,但我仍然无法弄清楚为什么会这样。

谢谢

4

1 回答 1

0

从 crontab 运行 wp-cli 的解决方案如下:

/usr/local/bin/php /usr/local/bin/wp --skip-plugins=cat /home2/mysite/public_html/skipplugins.txt cron event run --all --path=/home2/mysite/public_html
于 2017-03-24T17:26:07.857 回答