【问题标题】:PHP PhantomJS doesn't work on web serverPHP PhantomJS 在 Web 服务器上不起作用
【发布时间】:2016-05-23 20:46:59
【问题描述】:

有下一个问题:在 MAMP 上安装了 php phantomjs。从这里制作所有使用说明:enter link description here

一切正常...然后我将所有站点文件复制到我的虚拟主机站点文件夹中,但没有任何效果。做了一个 var_dump 的响应并看到:

object(JonnyW\PhantomJs\Http\Response)#156 (8) { ["headers"]=> NULL ["status"]=> NULL ["content"]=> NULL ["contentType"]=> NULL ["url"]=> NULL ["redirectURL"]=> NULL ["time"]=> NULL ["console"]=> NULL }

为什么它不起作用,为什么都是 NULL? 我的代码是:

require __DIR__ . '/vendor/autoload.php';

use JonnyW\PhantomJs\Client;

$client = Client::getInstance();

$request = $client->getMessageFactory()->createRequest('http://jonnyw.me', 'GET');

$response = $client->getMessageFactory()->createResponse();

var_dump($response);

$client->send($request, $response);


echo $response->getContent();

【问题讨论】:

  • 你可以通过 SSH 登录到你的服务器吗?

标签: php phantomjs php-phantomjs


【解决方案1】:

问题是关于 composer 下载的可执行文件,所以按照 issue #86 我把这个放在我的代码上:

$client->getEngine()->setPath('/usr/bin/phantomjs');

所以现在我正在使用默认二进制文件并且效果很好。

【讨论】:

    【解决方案2】:

    最可能的事情是如果它是共享主机,它们很可能不允许您执行任意可执行文件...即~/bin/phantomjs中的可执行文件

    要执行非标准的,即用户安装的东西,你需要一个 VPS 或专用服务器。

    【讨论】:

    • thanx,这个问题有什么解决方案吗?
    • @ArtyomSosonko 是的,从众多托管服务提供商之一购买 VPS:digitalocean.comflops.ru
    • 我有一个 VPS,但我的问题仍然存在。我缺少什么配置?
    猜你喜欢
    • 2012-01-12
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    相关资源
    最近更新 更多