php代码调用phantomjs,如何在 windows 下使用 PHP 执行 phantomjs

本文介绍一下在 PHP 语言下面如何调用系统命令执行 phantomjs 实现功能。

下面直接给出执行代码:echo '';

exec('H:\wamp\www\phantomjs\bin\phantomjs --output-encoding=utf8 H:\wamp\www\Xss_Scanner\test.js ',$output_main);

var_dump($output_main);

//$str = implode('',$output_main);

//var_dump($str);

test.js文件里面的内容如下:console.log('Loading a web page');

var page = require('webpage').create();

var url = 'http://www.mafutian.net/';

page.open(url, function (status) {

//Page is loaded!

if (status !== 'success') {

console.log('Unable to post!');

} else {

console.log(page.content);

}

phantom.exit();

});

执行结果如下图所示:

267_1.jpg

注意,能够实现上面执行结果需要主要下面几点:

(1)不能开启 PHP 的安全模式,即在 php.ini 中需要将 sql.safe_mode 设置为 Off。(并重启服务器,当然, php 本身默认就是不开启安全模式的)

(2)无论 phantomjs 是否加入到系统环境变量中,在 exec() 中都应该是绝对路径的,以下执行是无效的:exec('phantomjs --output-encoding=utf8 H:\wamp\www\Xss_Scanner\test.js ',$output_main);

需要将 phantomjs 取绝对路径。

(3)就是 js 文件可以不取绝对路径。可以是相对于网站根目录的,下面执行是成功的:exec('H:\wamp\www\phantomjs\bin\phantomjs --output-encoding=utf8 test.js ',$output_main);

注:test.js 放置于网站的根目录下。

另外:在 PHP 下执行 phantomjs 也可以使用另外一个函数 systom() 来执行,这里就不给出简介了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值