0

我已經安裝了CasperJS,沒有問題,並且正確配置了腳本&當我直接通過命令行執行時 - 我現在希望讓我的PHP Codeigniter應用程序'talk-到'這個腳本,並能夠通過我的web應用程序執行相同的腳本。我正在運行XAMPP - 儘管最終產品將部署在LAMP服務器上。通過PHP運行命令行(帶CasperJS)

要通過我用CMD運行腳本(successfuly如下:)

casperjs test.js 

我已經創建了一個基本的控制器內笨。下面這行,但好像沒有什麼改變?任何人都可以建議我做錯了什麼?

public function run() 
{ 
    shell_exec('casperjs test.js'); 
} 
+0

爲什麼不嘗試使用卡斯帕作爲服務,而不是通過命令行運行它?請參閱http://stackoverflow.com/questions/15852987/casperjs-passing-data-back-to-php/16489950#16489950 –

回答

1

我只允許通過命令行運行控制器的方式是檢查它是否是命令行請求。我在控制器文件中驗證了這一點。

if (!$this->input->is_cli_request()){ 
     //redirect them to the homepage 
     redirect('', 'refresh'); 
    }else{ //Request is coming from the command line } 

若要從Linux服務器上的命令行控制器使用這樣的命令:

/usr/bin/php /var/www/website/index.php controller_name function_name 

請參閱此鏈接瞭解更多信息:http://ellislab.com/codeigniter/user-guide/general/cli.html