>백엔드 개발 >PHP 튜토리얼 >crontab中如何调用yii框架类中的一个方法

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

WBOY
WBOY원래의
2016-06-06 20:21:551542검색

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

只能调command
demo如下

<code>*/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 中的一个方法。  </code>

  1. 需要在多处被调用的代码,不应该写在某个controller里。

  2. 写一个command来调用它。

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.