2015-03-25 44 views
0

我只啓用CLI要求:如何使用cron Jobs運行[Codeigniter]遷移?

if (! $this->input->is_cli_request()) { 
      echo 'Only access via command line.'; 
      exit;  
     } 

試過,沒有運氣命令:

*/5 * * * * 
cd /home4/shah/public_html/proof/oinvoices/; 
php index.php migrate reset; 
php index.php migrate latest; 

我想運行兩個函數首先我想重置,則數據庫名爲最新版本的遷移。

既不顯示錯誤,也不工作。

+0

那麼,怎麼了?當你運行cron時會發生什麼/不會發生什麼?你有沒有收到任何錯誤信息?讓我們輕鬆爲您提供幫助,包括我們所需的所有信息。 – Styphon 2015-03-25 10:43:58

+0

它不工作,沒有看到錯誤 – 2015-03-25 10:44:58

+0

你有服務器上的SSH訪問嗎? – Philip 2015-03-25 12:32:29

回答

1

你必須提供php.exe的路徑,然後是函數路徑。

我假設你有PHP版本5.3,

/opt/php53/bin/php /home4/shah/public_html/proof/oinvoices/index.php migrate reset 
/opt/php53/bin/php /home4/shah/public_html/proof/oinvoices/index.php migrate latest 
,如果你想運行一個cron作業,首先要在遷移功能

public function clean_up(){ 
    if (!$this->migration->version(0)) { 
     echo $this->migration->error_string(); 
    } 

    // unset table cache - this will force it to update 
    unset($this->db->data_cache['table_names']); 

    if (!$this->migration->latest()) { 
     echo $this->migration->error_string(); 
    } 
    } 

則:如果你是使用php5.3

/opt/php53/bin/php/home4/shah/public_html/proof/oinvoices/index .PHP遷移CLEAN_UP

如果你使用php5.4

的/ opt/php54 /斌/ PHP /home4/shah/public_html/proof/oinvoices/index.php遷移CLEAN_UP

希望能解決你的問題。

+0

clean_up函數給出錯誤, 不能聲明table blah等等。如果你再次運行,它會順利進行,沒有任何錯誤。 – 2015-03-28 07:55:36

+0

它仍然給出相同的錯誤。 – 2015-03-28 08:06:06

+1

請按照[此鏈接](http://stackoverflow.com/questions/18545942/codeigniter-migration-cannot-redeclare-class)瞭解更多詳情 – 2015-03-28 08:07:03