0

我已经毫无问题地设置了 CasperJS,并且当我通过命令行直接执行时正确配置了一个脚本并正常工作 - 我现在想让我的 PHP Codeigniter 应用程序“与”这个脚本对话,并能够通过执行相同的脚本我的网络应用程序。我正在运行 XAMPP——尽管最终产品将部署在 LAMP 服务器上。

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

casperjs test.js

我在 Codeigniter 中使用以下行创建了一个基本控制器,但似乎什么也没发生?谁能建议我做错了什么?

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

1 回答 1

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

于 2013-08-01T14:47:41.137 回答