如何使用Godaddy网络托管服务器中的cron作业运行Yii2的控制台命令

时间:2015-05-07 10:27:48

标签: php linux yii cron yii2

从localhost使用此命令运行并成功运行

  

c:/ wamp / www / yii2_advanced> yii test / pending

在godaddy服务器的cron作业中使用下面的命令。它无法正常工作

  

php public_html / yii2_advanced / yii test / pending> / dev / null 2>& 1

那么如何在Godaddy网络托管服务器上使用cron作业运行Yii2的控制台命令?

提前致谢...

5 个答案:

答案 0 :(得分:1)

我知道这是一个老帖子,但我也浪费了一整天来弄清楚这个问题。这就是我发布答案的原因。希望这对一些人有所帮助。

enter image description here

1>在上面的部分中输入电子邮件ID。它会帮助你测试。

2 - ;不要选择时间少于5分钟。有时它不适用于godaddy。

注意:电子邮件最多可能需要20分钟才能触发,请耐心等待。

3>选择时间5分钟后输入此命令。

/usr/local/bin/php -q /home/username/public_html/projectName/yii json/start

4>检查您的电子邮件以测试您的工作。如果工作无效,则此处将显示错误消息。

5个当您的cron作业启动并运行时,您不需要任何电子邮件。要删除电子邮件发送,请添加此命令

/usr/local/bin/php -q /home/username/public_html/projectName/yii json/start >/dev/null 2>&1

答案 1 :(得分:1)

您可以在crontab中使用以下功能

    * * * * * php  /var/www/html/your-project-path/yii test/index

在此处 yii 指向Yii项目的根yii文件, test 是我的控制台控制器, / index 是我的方法。

希望这会有所帮助。

答案 2 :(得分:0)

这些答案中没有一个适合我。我正在使用yii2希望我的解决方案帮助某人!

首先将您的Cron创建为新文件:MyCronNameController.php

我们假设我们的cron文件名是HelloController.php,所以它的代码如下:

    <?php

namespace app\commands;

use yii\console\Controller;

class HelloController extends Controller
{
    public function actionIndex($message = 'hello world')
    {
        echo $message . "\n";
    }
}

这个文件在你的托管上,只需转到Cron Job经理进入GoDaddy并设置如下命令:

/usr/local/bin/php -q /home/<user>/public_html/<project-folder>/yii hello

看看命令我只运行没有“Controller”字样的命令。

还有一个观察结果是,我尝试使用像“HelloWordController”这样的cron名称并使用“helloword”运行它,并且它没有用,只有一个单词名称它可以正常工作。

答案 3 :(得分:0)

yii2 ubuntu 中的 cronjobs

#create cronjob 每分钟

          • php /var/www/html/yiitest2.0.39/yii test/makefile

https://youtu.be/5KUMNPKgvnU

答案 4 :(得分:-1)

/usr/local/bin/php -q /public_html/<YOUR_PROJECT_FOLDER_NAME> yii <CONTROLLER_NAME>/<ACTION_NAME>