如何在 windows 下使用 PHP 执行 phantomjs

学习笔记 马富天 2017-06-17 11:30:26 527 1

【摘要】之前写了一篇文章主要介绍 phantomjs 的基本使用,本文介绍一下在 PHP 语言下面如何调用系统命令执行 phantomjs 实现功能。

下面直接给出执行代码:

  1. echo '<meta charset = "utf-8">';
  2. exec('H:\wamp\www\phantomjs\bin\phantomjs --output-encoding=utf8 H:\wamp\www\Xss_Scanner\test.js ',$output_main);
  3. var_dump($output_main);
  4. //	$str = implode('',$output_main);
  5. //	var_dump($str);

test.js文件里面的内容如下:

  1. console.log('Loading a web page');
  2. var page = require('webpage').create();
  3. var url = 'http://www.mafutian.net/';
  4. page.open(url, function (status) {
  5.     //Page is loaded!
  6.     if (status !== 'success') {
  7.         console.log('Unable to post!');
  8.     } else {
  9.         console.log(page.content);
  10.     }
  11.     phantom.exit();
  12. });

执行结果如下图所示:

请输入图片名称

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

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

(2)无论 phantomjs 是否加入到系统环境变量中,在 exec() 中都应该是绝对路径的,以下执行是无效的:

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

需要将 phantomjs 取绝对路径。

(3)就是 js 文件可以不取绝对路径。可以是相对于网站根目录的,下面执行是成功的:

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

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

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

版权归 马富天个人博客 所有

本文标题:《如何在 windows 下使用 PHP 执行 phantomjs》

本文链接地址:http://www.mafutian.com/267.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 PhantomJS 简单介绍与实例 》 下一篇《 如何使用 phantomjs 截取网页屏幕保存为一张图片 》

所有评论

  1. 首页
  2. 上一页
  3. 1
  4. 下一页
  5. 尾页
  6. 第1页
  7. 每页12条
  8. 共1页
  9. 共1条
评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多