【问题标题】:Using PhantomJS on host without root access在没有 root 访问权限的主机上使用 PhantomJS
【发布时间】:2013-09-04 22:53:29
【问题描述】:

我已经为此苦苦挣扎了很长时间,所以我决定在这里问它。

我想在没有 root 访问权限的主机上使用 PhantomJS。现在我正在使用 000webhost.com 进行测试,它是 Apache ver. 2.2.19 (Unix),我将 phantomjs-1.9.1-linux-i686.tar.bz2 上传到了 pulic_html/phantomjs-1.9.1-linux-i686.tar/ 文件中。

  1. 这项工作是否可行,或者我是否需要 root 访问权限才能使用 PhantomJS。
  2. 如果它应该工作是因为我的 php 执行它是错误的exec('http://example.com/phantomjs-1.9.1-linux-i686.tar/phantomjs-1.9.1-linux-i686.tar.bz2 http://example.com/countdown.js');
  3. 具有 root 访问权限的 VPS 托管是否有效。

如您所见,我真的很困惑,任何帮助都会很棒。

【问题讨论】:

  • 你想用 phantomjs 做什么?你需要首先解压你下载的文件tar xvf phantomjs-1.9.1-linux-i686.tar。解压后在顶层目录有README.md文件,可以给你一些使用思路。您无需成为 root 即可使用它
  • @KeepCalmAndCarryOn 非常感谢您的大力帮助。我觉得我现在明白了,但不幸的是它仍然不起作用。这就是我的 FileZilla 的样子:测试文件夹 --> countdown.js 文件类型:JScript 脚本文件,phantomjs 文件类型:文件,phpphantom.php 文件类型:php 文件。 (测试文件夹中的所有三个文件)都将权限设置为 777。当我访问 phpphantom.php 时,我只得到 exec("phantomjs countdown.js"); 的文本。难道我做错了什么?感谢您的帮助。
  • 问题是 000webhost.com 没有 ssh 访问权限,所以我无法正确解压缩。 exec 在他们的共享主机上也被禁用。谢谢大家的帮助。
  • 感谢packagist.org/packages/jakoch/phantomjs-installer,您可以使用composer安装phatomjs

标签: php linux binary hosting phantomjs


【解决方案1】:

通常在共享托管环境中执行应用程序并不是最佳做法,而且您的托管服务提供商可能不允许这样做。如果您需要运行 PhantomJS,我建议您购买一个 VPS,因为您将完全控制您的应用程序的运行方式。

以 root 身份运行应用程序并从 PHP 调用它是一个的想法。如果您的系统受到威胁,则攻击者具有 root 访问权限。在您的 VPS 上创建一个具有受限权限的帐户以运行 PhantomJS。然后你可以继续使用exec从PHP调用PhantomJS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 2023-03-25
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 2014-11-29
    • 2012-06-07
    相关资源
    最近更新 更多