简体   繁体   中英

Kohana 3 and CRON always accessing index.php (not following the URI argument)

OK, I hope this is my last question about CRON jobs and Kohana 3. Note: others are not duplicates, just other problems.

Here is my CRON job (setup in cPanel)

php /home/user/public_html/index.php --uri=properties/update

As per this answer .

I have set it up so it emails me the output. It is running every 5 mins.

Unfortunately, it always emails me the source of the home page of my site (index.php or /).

I can access that URL fine in my browser, ie http://www.example.com/properties/update and it works and does its job correctly. I can tell the Cron is never hitting the script because I have a file logger in place.

Would this have anything to do with .htaccess?

Has this happened to anyone before, and how did they fix it?

Many thanks.

Update

Here is my home route in bootstrap.php if anyone is interested.

Route::set('home', '')
    ->defaults(array(
    'controller' => 'home',
    'action' => 'index'
    ));

It is the first route defined.

Another Update

What's weird too, is that a var_dump(Kohana::$is_cli); produces false when emailed from the CRON.

In case anyone else has this problem, after spending hours trying to work it out, I eventually discovered that instead of using (to use your example)

php /home/user/public_html/index.php --uri=properties/update

I had to use

/usr/local/bin/php -q /home/user/public_html/index.php --uri=properties/update

The exact path to php may vary, but without using this, it wasn't using CLI, and although I'm not entirely sure, I think it was CURLing it.

I also found that I had to explicitly state the index actions too, when calling those; they weren't called as the controllers' default actions (although oddly, before() was called).

Update your route to:

Route::set('home', '<>')
    ->defaults(array(
    'controller' => 'home',
    'action' => 'index'
    ));

or:

Route::set('home', 'properties/update')
    ->defaults(array(
    'controller' => 'home',
    'action' => 'index'
    ));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM