我需要使用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
8条答案
按热度按时间bttbmeg01#
不知道这是不是你要找的,或者我回答错了,但是我用CodeIgniter运行CRON作业的方式只是作为cron这样做:
然后在控制器的顶部有这个
vwkv1x7d2#
使用wget命令沿着你的url在codeigniter文件中运行cron,在你的情况下应该是:
注意不要使用文件的路径,使用调用你的函数的url。
r55awzrz3#
在这里,您可以找到分步如何在CodeIgniter 4中设置Cron作业,
步骤1
通过Composer安装
打开项目终端并运行此命令。
步骤#2
应用程序的包配置
一次,你会运行它。它会在**/app/Config文件夹中发布一个名为CronJob.php**的文件。
执行迁移命令以运行应用程序的挂起迁移:
都搞定了
步骤3
将Cron作业添加到CodeIgniter任务计划程序
步骤#4
为任务启用CronJob
步骤#5
将CronJob Processor添加到Crontab
添加您的作业以使其每分钟运行一次。
语法:
范例:
**注意:**任务调度器每分钟执行一次,但cron会在指定的时间段(一天一次)运行。
希望,这将有助于您在CI v4中设置cron作业。
u59ebvdq4#
行:
api.example.com/index.php/cron/index/dummy.php
基本上给出的例子使用第三个uri段来传递一个以
.php
结尾的值,而你没有使用它。或者你可以用好的老Routing
bqf10yzr5#
使用.htaccess将.php附加到请求的URL,我没有测试下面的代码,但我希望它有帮助。
bbuxkriu6#
使用CURL并通过URL调用cronjob。如果CURL在您的主机中启用,这将是一个很好的选择。
在网站的根文件夹中创建一个名为cronjob.php的PHP文件,并在文件中添加以下脚本。
现在在cronjob中调用php文件cronjob.php,它应该可以工作。
pxyaymoc7#
简单
这里
cpanel_username -您的域名的用户名cpanel,
sub_folder(可选)-如果您的Web应用程序是任何文件夹
Param(参数)-指控制器及其方法(函数)
rpppsulh8#
Codeigniter API Cronjob for godaddy hosting
CodeIgniter cron job API based daily 10点钟
为了我工作得很好