好的,我希望这是我关于CRON工作和Kohana 3的最后一个问题。注意:其他问题不是重复,只是其他问题。
这是我的CRON作业(在cPanel中设置)
php /home/user/public_html/index.php --uri=properties/update
根据this answer。
我已将其设置为通过电子邮件将输出发送给我。它每5分钟运行一次。
不幸的是,它总是通过电子邮件向我发送我网站主页的来源(index.php或/)。
我可以在浏览器中正常访问该网址,即http://www.example.com/properties/update
,它可以正常工作并正常工作。我可以告诉Cron从来没有打过剧本,因为我有一个file logger。
这与.htaccess有什么关系?
之前是否发生过这种情况,他们是如何解决的?
非常感谢。
如果有人有兴趣,这是bootstrap.php
中的主路线。
Route::set('home', '')
->defaults(array(
'controller' => 'home',
'action' => 'index'
));
这是第一条定义的路线。
奇怪的是,var_dump(Kohana::$is_cli);
在从CRON发来电子邮件时会产生false
。
答案 0 :(得分:5)
如果其他人有这个问题,花了好几个小时试图解决这个问题,我最终发现不是使用(使用你的例子)
php /home/user/public_html/index.php --uri=properties/update
我必须使用
/usr/local/bin/php -q /home/user/public_html/index.php --uri=properties/update
php 的确切路径可能有所不同,但没有使用它,它没有使用CLI,虽然我不完全确定,但认为它是CURLING it。
我还发现在调用那些时我也必须明确说明索引操作;它们不被称为控制器的默认操作(虽然奇怪的是,在调用 之前)。
答案 1 :(得分:0)
更新您的路线:
Route::set('home', '<>')
->defaults(array(
'controller' => 'home',
'action' => 'index'
));
或:
Route::set('home', 'properties/update')
->defaults(array(
'controller' => 'home',
'action' => 'index'
));