通过PHP运行命令行(带CasperJS)

时间:2013-08-01 13:19:25

标签: codeigniter command-line phantomjs casperjs headless-browser

我已经设置了CasperJS没有问题,并且正确配置了脚本&当我通过命令行直接执行时工作 - 我现在想让我的PHP Codeigniter应用程序'与'交谈'这个​​脚本,并能够通过我的Web应用程序执行相同的脚本。我正在运行XAMPP - 尽管最终产品将部署在LAMP服务器上。

要运行脚本(通过cmd成功,我使用以下内容:)

casperjs test.js

我在Codeigniter中创建了一个基本控制器,但是似乎没有发生任何事情?任何人都可以建议我做错了吗?

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

1 个答案:

答案 0 :(得分: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