2

我使用共享主机,所以我无法访问 shell。

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

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

但这不会运行 crons/index 操作。
我应该如何写到我的 crons 控制器的路径?

4

3 回答 3

5

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

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

所以我想你可以使用

curl --silent http://www.example.com/crons/index

编辑:正如 burzum 提到的,通过控制器运行 cron 作业意味着基本上任何人都可以在他们的浏览器中键入您的 conjob 的 URL 并随时运行它。根据您的 cron 作业的性质,这可能是一个安全风险,如果是这样,您应该使用 burzum 的方法。

于 2012-06-27T22:54:16.097 回答
4

How should I write path to my crons controller?

You should not do that at all. If not properly protected anyone could trigger your controller from the web. Also that's not what a controller is made for.

Use a shell (or a shell command through cpanel for crons)

Assuming that the CakePHP core is in

/home/mysite/public_html/lib/

You should be able to run it like this:

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

More details and examples are shown here.

于 2012-06-28T08:56:03.200 回答
0

我不确定这是否正确,尽管它对我有用

lynx -dump http://example.com/controller/action
于 2012-12-24T05:49:26.643 回答