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');
所以现在我使用默认的二进制文件并且效果很好。
遇到下一个问题:在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');
所以现在我使用默认的二进制文件并且效果很好。