CakePHP的Cron作业路径

时间:2012-06-27 21:47:01

标签: cakephp cron cakephp-2.0 cpanel

我使用共享主机,因此无法访问shell。

我有CronsController,我想运行控制器的索引动作 从cpanel我添加这样的cronjob:

php -q /home/mysite/public_html/app/crons  

但是这不会运行crons / index动作 我该怎么写我的crons控制器的路径?

3 个答案:

答案 0 :(得分:5)

我像这样运行我的CakePHP cron作业:

curl --silent http://www.example.com/my_controller/my_action

所以我想你可以使用

curl --silent http://www.example.com/crons/index
编辑:正如burzum所提到的,通过控制器运行一个cron作业意味着基本上任何人都可以在浏览器中键入你的魔方的URL并随时运行它。根据您的cron作业的性质,这可能存在安全风险,如果是这样,您应该使用burzum的方法。

答案 1 :(得分:4)

  

我应该如何写出我的crons控制器的路径?

你应该那样做。如果没有得到适当保护,任何人都可以从网络上触发您的控制器。这也不是控制器的用途。

使用shell (或通过cpanel的shell命令获取crons)

假设CakePHP核心在

/home/mysite/public_html/lib/

你应该能够像这样运行它:

/home/mysite/public_html/lib/Cake/Console/cake --app /home/mysite/public_html/app shellName

更多详细信息和示例显示为here

答案 2 :(得分:0)

我不确定这是否正确,虽然它对我有用

lynx -dump http://example.com/controller/action