工作需要,要對在啟動並執行代碼進行整合成Cli 模式運行。
php -f /var/www/weibok/index_cli.php Action Funciton
項目是Thinkphp的2.1,然後看手冊,說define('MODE_NAME','Cli')。結果沒用。一看。2.1中根本沒有MODE_NAME,而是define('THINK_MODE','Cli')。但是,還是不行,不管運行什麼模組,都調到首頁。
在3.0的Thinkphp 下也不行。也跳到首頁。
有做過Thinkphp Cli 模式開發的嗎?告訴一下怎麼做啊。謝謝各位。
回複討論(解決方案)
13.7.4 命令模式
命令模式用於支援命令列模式下面的PHP應用,需要在入口檔案設定:
define('MODE_NAME', 'cli')? // 採用CLI運行模式運行
在命令模式下面,支援兩種命令列的參數模式,
一、PATHINFO參數模式(URL_MODEL為1)
在PATHINFO參數模式下面,我們可以這樣調用模組和操作
index.php module/action/id/4
二、普通參數模式(URL_MODEL設定為其它)
在普通參數模式下面 ,我們需要這樣調用模組和操作
index.php module action id 4
在命令列模式下面,系統會自動把參數轉換為GET變數,無論採用哪種命令列參數模式,我們可以直接使用GET變數擷取參數,例如,採用下面的方式調用
index.php Info/read/category/2/id/4
在控制器中,我們可以直接擷取$_GET['category'](這裡傳入的是2)和$_GET['id'](這裡傳入的是4)參數,如果你需要自己解析傳入的參數順序和值,就需要採用原生的系統變數$_SERVER['argv']來擷取參數了。
我也遇到過相同的問題,沒解決,不知道樓主現在有解決嗎
看看哈,能否有協助
入口檔案define('APP_DEBUG',false);試試
我也是碰到了同樣的問題,不知道樓主有沒有繼絕?