我需要使用CodeIgniter在文件上运行cron作业,但CodeIgniter不允许我直接运行文件 . 即
我可以在浏览器中运行控制器:
api.example.com/index.php/cron
我的托管只允许我运行PHP文件,我无法通过命令行执行它,因为它不会让我运行wget或curl .
如何让CodeIgniter运行如下文件:
api.example.com/index.php/application/controller/cron.php
我可以用我的主机调用该文件 .
更新
以为我只会更新没有为我工作的选项我最终改变托管和做以下 .
http://devsforrest.com/116/setup-a-cronjob-to-run-every-5-minute-on-media-temple
6 回答
使用wget命令和你的url在你的caseigniter文件中运行cron它应该是:
并且小心不要使用文件路径使用调用你的函数的url .
不确定这是否是您正在寻找的,或者如果我回答错了,但我使用CodeIgniter运行CRON作业的方式就是将其作为cron:
然后在控制器中我将它放在它的顶部
行:
api.example.com/index.php/cron/index/dummy.php
基本给出的示例使用第3个uri段传递一个不使用的
.php
结尾的值 .或者你可以使用好的'Routing
使用.htaccess将.php附加到请求的URL,我没有测试下面的代码,但我希望它有所帮助 .
使用CURL并通过URL调用您的cronjob . 如果您的托管中启用了CURL,那将是一个不错的选择 .
在您网站的根文件夹中创建一个PHP文件名cronjob.php,并在文件中添加以下脚本 .
现在在cronjob调用php文件cronjob.php,它应该工作 .
只是
这里
cpanel_username - 域cpanel的用户名,
sub_folder(可选) - 如果您的Web应用程序是任何文件夹
Param(参数) - 指控制器及其方法(函数)