PHP PhantomJS 无法在网络服务器上运行

PHP PhantomJS doesn't work on web server

遇到下一个问题:在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();

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

中的可执行文件

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

问题出在 composer 下载的可执行文件上,所以按照 issue #86 我把它放在我的代码中:

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

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