2016-01-29 85 views
3

我在尋找一些幫助。我在codeigniter中有一個應用程序,我試圖實現一個cron作業來自動化我的控制器中的一個方法來運行每個小時左右......Codeigniter Cron - 「您找到的控制器/方法對未找到」

我在頁面上有很多問題,但是我的錯誤「沒有找到您請求的控制器/方法對。」

的Cron命令(從終端)是:PHP的index.php cron的索引

控制器(縮短我除去不涉及我的問題的其他方法。):

include('application/libraries/Twilio.php'); 
require_once 'application/third_party/Infusionsoft/infusionsoft.php'; 

class Cron extends CI_Controller{ 

public $pagination_config; 
public $total_rows; 
private $users_table_name; 
private $review_sites_table_name; 
private $ci; 
public $customer_reviews_info; 

function __construct() { 
    parent::__construct(); 
    $this->ci = & get_instance(); 
    $this->load->database(); 
    $this->load->helper('url'); 
    $this->load->helper(array('form', 'url')); 
    $this->load->helper('security'); 
    $this->load->library('form_validation'); 
    $this->load->library('pagination'); 
    $this->load->library('tank_auth'); 
    $this->lang->load('tank_auth'); 
    $this->load->model('CronModel'); 
    $this->load->library('simple_html_dom'); 
    $this->load->config('twilio', TRUE); 

    $this->AccountSid = $this->config->item('account_sid', 'twilio'); 
    $this->AuthToken = $this->config->item('auth_token', 'twilio'); 

    $this->users_table_name = $this->ci->config->item('users_table_name', 'tank_auth'); 
    $this->review_sites_table_name = $this->ci->config->item('review_sites_table_name', 'tank_auth'); 
    $this->customer_reviews_info = $this->ci->config->item('customer_reviews_info', 'tank_auth'); 
} 

    public function index() 
    { 
    echo "Hello, World" . PHP_EOL; 
    } 

} 

控制器文件名是cron.php。如果我在瀏覽器中運行網址,它可以正常工作。如果我嘗試使用終端,則會出現錯誤。我覺得我已經研究了一堆,並沒有運氣。我感謝任何幫助,我可以得到。我不確定你可能需要哪些其他信息來幫助我,但如果你問我,我會爲你提供你需要的幫助。

+1

CI 3+版本需要控制器和其他以'ucfirst'規則命名的類(例如Cron.php)。 – Tpojka

+0

謝謝。我更改了文件名並確實解決了該問題。然而,現在我越來越「mysqli :: real_connect():(HY000/2002):連接被拒絕」 我已經嘗試localhost和127.0.0.1主機名,也包括端口3306,仍然是相同的錯誤。對這個新錯誤有幫助嗎? – khtims75

+0

沒關係,Tpojka,你的幫助確實解決了我的問題。這是我的錯誤,導致連接被拒絕。謝謝! – khtims75

回答

2

CI 3+版本需要控制器和ucfirst()規則命名的其他類(例如Cron.php)。 Docs