我在Codeigniter 2.1.0上运行了一个新站点并配置了以下Cron作业:
php -q /home/overstoc/www/admin/index.php cron update
发送给我的输出显示只调用默认控制器和默认操作。发送的任何参数都将被忽略。
有关调试此问题的方法或导致此问题的已知错误的任何建议吗?
登录服务器我能够通过SSH手动成功加载所需的控制器和操作。但是,Cron作业未传递请求的参数。
答案 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。