如何调试仅在调用时运行默认控制器和操作的Codeigniter Cron作业?

时间:2011-11-26 02:50:21

标签: php codeigniter cron command-line-interface

我在Codeigniter 2.1.0上运行了一个新站点并配置了以下Cron作业:

php -q /home/overstoc/www/admin/index.php  cron update

发送给我的输出显示只调用默认控制器和默认操作。发送的任何参数都将被忽略。

有关调试此问题的方法或导致此问题的已知错误的任何建议吗?


登录服务器我能够通过SSH手动成功加载所需的控制器和操作。但是,Cron作业未传递请求的参数。

1 个答案:

答案 0 :(得分:3)

经过进一步的研究,我能够确定php运行有两种模式:cgi或cli。在shell中使用php -v进行测试后,我确认它已配置为cli,但在Cron作业中运行相同的操作我看到结果是php以cgi的形式运行。

要解决此问题,我按如下方式重新配置了我的Cron作业:

/usr/local/bin/php /home/overstoc/www/admin/index.php cron update

我假设Cron作业正在调用的默认php具有cgi的配置,其中服务器共享是cli。