php exec phantomjs,php – exec()和phantomjs问题与绝对路径

我正在使用

phantomJS来编程获取网页的屏幕截图.我的网络服务器在Linux 64位上运行.

情景

我的test.php文件

exec('./phantomjs --version', $o, $e);

print_r($o);

echo $e;

我在浏览器中打开test.php.我得到的输出是:

1.9.1 // version number

0 // exit code

这证明我可以通过exec()运行命令,并且phantomJS工作正常.

问题

现在我用以下代码替换上面的代码:

exec('./phantomjs http://mywebsite.com/test.js', $o, $e);

print_r($o);

echo $e;

输出是:

Array ( ) // empty output

139 // exit code which on investigating turned out to be segmentation fault

我也尝试过:

exec('./phantomjs ./test.js', $o, $e); // since phantomjs and test.js are in same folder

但结果是一样的(段错误)

test.js代码:

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

var url = 'http://www.rediff.com/';

page.open(url, function (status) {

phantom.exit();

});

这让我相信使用完整路径作为phantomJS的第二个参数会导致它崩溃.因此,我想知道的是:

>我的假设是对的吗?

>或者是因为我的网络服务器的一些限制阻止了exec()通过绝对URL访问.js文件?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值