【问题标题】:Execute PhantomJs script from PHP on Ubuntu 16.04在 Ubuntu 16.04 上从 PHP 执行 PhantomJs 脚本
【发布时间】:2016-11-30 14:16:04
【问题描述】:

我正在尝试使用 PHP 脚本运行 PhantomJS exec('/path/to/phantomjs/phantonjs --version'); 此行在 CLI 中运行良好,但在我的 PHP 脚本中根本不起作用。

我四处寻找修复方法并找到了这个Q/A 并阅读了一些有关可能是问题的权限的内容。我已经尝试了所有这些修复程序,但 PhantomJS 仍然无法启动。

我现在很绝望,有人可以帮帮我吗? 谢谢。

【问题讨论】:

  • 你期望它输出一些东西吗?你需要echo返回值。
  • 我已经回应了它,甚至尝试添加一个输出数组作为 exec 的第二个参数,但该命令根本无法运行。 :(
  • 您能否创建一个不起作用的脚本的最低版本并发布?您是否能够让exec 使用php -a 使用交互式解释器工作?
  • 我在/usr/local/bin 中有 PhantomJS。该二进制文件是可执行的,我同时拥有权限和所有权。我使用像$cmd = '/usr/local/bin/phantomjs --version'; 这样简单的脚本 这显然可以在 CLI 中完美运行,但是当从 PHP 调用时:$response = exec($cmd, $out, $status) ; 状态返回 true 表示命令未执行,$response$out 均为空.不是null,而是分别是一个空字符串和一个包含一个空字符串元素的字符串数组。
  • 也许 php.ini 中的某些东西阻止了它。

标签: php linux ubuntu phantomjs


【解决方案1】:

exec 命令中的路径看起来不对,它使用了 phantonjs,我希望它是 phantomjs。可能是这个问题吗?

【讨论】:

  • 您好@daphtdazz,感谢您的回答。我试过了,还是不行:(
【解决方案2】:

我解决了。 PhantomJS 需要在我的 Xampp 包中找不到的 som 库,只是默默地失败并更新日志。所以我只安装了独立的 PHP 和 Apache 服务,一切正常。

【讨论】:

    猜你喜欢
    • 2016-09-26
    • 1970-01-01
    • 2017-07-02
    • 2020-05-27
    • 1970-01-01
    • 2020-10-24
    • 2019-05-17
    相关资源
    最近更新 更多