3

有下一个问题:在 MAMP 上安装了 php phantomjs。从这里制作所有使用说明:在此处输入链接描述

一切正常...然后我将所有站点文件复制到我的网络托管站点文件夹中,但没有任何效果。做了一个 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();
4

2 回答 2

1

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

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

于 2016-02-12T16:24:11.373 回答
0

问题是关于作曲家下载的可执行文件,所以在问题 #86之后我把它放在我的代码中:

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

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

于 2016-03-10T18:25:23.613 回答