我使用共享主机,所以我无法访问 shell。
我有 CronsController,我想运行控制器的索引操作。
从 cpanel 我像这样添加 cronjob:
php -q /home/mysite/public_html/app/crons
但这不会运行 crons/index 操作。
我应该如何写到我的 crons 控制器的路径?
我使用共享主机,所以我无法访问 shell。
我有 CronsController,我想运行控制器的索引操作。
从 cpanel 我像这样添加 cronjob:
php -q /home/mysite/public_html/app/crons
但这不会运行 crons/index 操作。
我应该如何写到我的 crons 控制器的路径?
我像这样运行我的 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 的方法。
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.
我不确定这是否正确,尽管它对我有用
lynx -dump http://example.com/controller/action