Dodanie Cron Job

Witam wszystkich

Korzystając z kilku poradników z sieci, chcąc dodać zadanie CRONa zrobiłem tak:

  1. Utworzyłem plik console.php w głównym katalogu który tak wygląda:



<?php


// change the following paths if necessary

$yii=dirname(__FILE__).'/framework/yii.php';

$config=dirname(__FILE__).'/protected/config/cron.php';


// remove the following lines when in production mode

defined('YII_DEBUG') or define('YII_DEBUG',true);

// specify how many levels of call stack should be shown in each log message

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);


require_once($yii);


$app = Yii::createConsoleApplication($config)->run();

?>

  1. Utworzyłem oczywiście w config/cron.php

  2. Dodałem komendę w protected/commands/DemoCommand.php o treści:




<?php

class DemoCommand extends CConsoleCommand

{

    public function getHelp()

    {

        echo "Info";

    }


    public function run($args)

    {

        mail('mail@gmail.com',  'Temat', 'Message');

    }

}    

?>

  1. Jak wywołuję w przeglądarce console.php to mam:

Yii command runner (based on Yii v1.1.13) Usage: [parameters...] The following commands are available: - demo To see individual command help, use the following: help

  1. Jednak nie działa jak dodam do crona. Jak wejdę przez SSH i wpiszę:

 /usr/bin/php sciezka_do/console.php demo

uzyskuję:


syntax error, unexpected T_OBJECT_OPERATOR in <b>sciezka/console.php</b> on line <b>14</b>

czyli w linii startującej aplikację.

Dodatkowo jak usunę run(), to komunikat jest taki:


 syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in <b>sciezka/framework/YiiBase.php</b> on line <b>61</b><br />



Ktoś ma pomysły co robię źle?

Wpisz w konsoli:


/usr/bin/php -v

potem


which php

i wklej wyniki. Na 99% w cli masz jeszcze php 4.

Okazało się, że w cron należy wywołać php5 a nie php … No właśnie