crontab中如何调用yii框架类中的一个方法

【问题描述】:
需要在crontab中加入计划任务每天执行/data/www/producted/.../timeController.php文件中的Show方法。
在计划任务中加入:
0 1 * /data/www/producted/.../timeController.php Show > /dev/null 2>&1
计划在每天执行该方法。
但是该方法并没有按照预期被调用,分析原因可能是因为timeController.php是一个类文件,如果要调用其中的方法,需要符合yii的调用规则,所以上述写法无效。
请问如何在crontab中调用yii框架中的方法。谢谢

阅读 4.9k
4 个回答

只能调command
demo如下

*/1 * * * * /usr/local/php/bin/php /path/to/www/protected/yiic foo bar >> /path/to/log.log 2>&1
# yiic 是命令文件 foo 是 命令类,对应 cammand/FooCommand.php 
# bar 是FooCommand 中的一个方法。  
  1. 需要在多处被调用的代码,不应该写在某个controller里。

  2. 写一个command来调用它。

crontab调用php脚本。
php脚本通过curl的方式调用controller的acrion

把语言执行的方法公开为一个可以url访问的地址,contab通过访问这个地址跑定时。使用get或者curl命令

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题