2013-10-09 22 views
30

我正在爲我的網站使用Codeigniter。我必須使用cron作業來運行控制器功能之一。我在網站上使用路由。而且我也沒有在url中使用index.php。如何爲codeigniter設置cron作業網址?

例如http://my-domain.com/welcome/show,這裏的歡迎是我的控制器,show是該控制器的函數名稱。

我已經使用這個樣子,

0 * * * * php /home/username/public_html/welcome/show

這是給 '沒有這樣的目錄'

我如何設置的cron喬恩CPANEL以上網址。

謝謝。

回答

9

你可以用這一個嘗試:

wget api.example.com/index.php/controller/function 
+2

感謝您的回覆,意味着像使用我的示例的網址是'0 * * * * wget http:// my-domain.com/welcome/show',是嗎? – Sachin

+0

我這麼認爲,你可以試試這個 –

+0

謝謝Suvash .. 這個網址適合我。 wget yourSite.com/index.php/controller/method –

5

你還可以嘗試:

0 * * * * /usr/bin/curl --silent --compressed http://my-domain.com/welcome/show 

或者localhost

0 * * * * /usr/bin/curl --silent --compressed http://localhost/welcome/show 

我希望這很有幫助。

3

在/ usr/local/bin目錄/ PHP /home/username/public_html/index.php controllername方法名

這爲我工作。

+0

感謝您的解決方案!這個解決方案只是一個簡單的問題,如果我在我的應用程序中登錄,它會請求爲什麼以及如何避免它? @Reshma D –

1

這裏是我的cron使用

enter image description here

在/ usr/bin中/ PHP /家庭/ PIA/WWW /工作/索引。PHP的cron通訊

說明:

一)$ _ SERVER [ 'DOCUMENT_ROOT'] = /家庭/ PIA/WWW

二)笨網站的root = /家庭/ PIA/WWW /工作

C) '的cron'=控制器名稱

d) '通訊'

+0

嗨,這是什麼工具? –

+0

webmin --- http://www.webmin.com/ – Florin

-1

我已經做它作爲

012 =方法名
00 09-18 * * 1-5 /usr/bin/php /var/www/html/app/index.php crontest 

crontest是其中還使用了一個模型從數據庫(每週上午9點之間到下午6點,週一至週五)

我只是看this page提取數據,並定期發送郵件的控制器的名稱,其以例子解釋非常詳細。希望這對其他人也有用。

+0

雖然這可能會在理論上回答這個問題,[這將是更可取的](/ meta.stackoverflow.com/q/8259)包括的基本部分在這裏回答,並提供參考鏈接。 – Tunaki

0

我使用codeigniter 3.0.3,我的服務器是hostgator。對我來說,下面的格式工作正常

*/15 * * * * /opt/php55/bin/php /home/username/public_html/myapp/index.php reminders index 

上述命令運行,每15分鐘,在命令提示是控制器名稱和索引是方法名。

+0

@sachin你可以試試'0 * * * * php /home/username/public_html/yourapp/index.php welcome show' – prudhvi259

0
watch -n60 curl [your application path]/check_banalce/user_balance 

在我的情況下,使用codeigniter和上述命令執行每60秒在check_balance控制器中找到的user_balance函數。