如何调用CodeIgniter控制器作为Cron作业

pexxcrt2  于 2023-02-01  发布在  其他
关注(0)|答案(2)|浏览(114)

我尝试通过cron作业调用Codeigniter控制器。但是有些地方出错了,我没有得到想要的结果。我尝试通过PHP CLI访问同一个控制器,它没有返回控制器应该返回的输出,而是输出了项目主页的内容。This question也有类似的问题。
我的crontab包含以下条目:

22 13 * * * php /var/www/html/projectfolder/index.php cronJobGmutrrPdt runJobForUpdatingClgRevConnSummary

但这不起作用,所以我尝试通过CLI运行它:

php /var/www/html/projectfolder/index.php cronJobGmutrrPdt runJobForUpdatingClgRevConnSummary

在这种情况下,CLI运行,但它输出的不是控制器的输出,而是默认控制器(即项目主页)的内容。

gc0ot86w

gc0ot86w1#

很可能你在php.ini文件中禁用了register_argc_argv,这就是为什么直接php脚本可以工作的原因,因为cronjob像CLI命令一样运行,你需要启用它来传递参数。
http://php.net/manual/en/reserved.variables.argv.php
看看上面的php文档,它应该会把你带到正确的方向。

o3imoua4

o3imoua42#

对我来说,这很管用:

/usr/bin/php  -f /var/www/html/projectfolder/index.php mycontroller method

相关问题