PHP PhantomJSを利用してキャプチャを取得しようとしたところ、下記のエラーが表示されて悩まされました。
Fatal error: Uncaught exception 'JonnyW\PhantomJs\Exception\ProcedureFailedException' with message 'Error when executing PhantomJs procedure - File does not exist or is not executable: bin/phantomjs' in /var/www/vendor/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Procedure/Procedure.php:138 Stack trace: #0 /var/www/vendor/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Procedure/ProcedureValidator.php(84): JonnyW\PhantomJs\Procedure\Procedure->run(Object(JonnyW\PhantomJs\Procedure\Input), Object(JonnyW\PhantomJs\Procedure\Output)) #1 /var/www/vendor/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Procedure/ProcedureValidator.php(61): JonnyW\PhantomJs\Procedure\ProcedureValidator->validateSyntax('??/**? * Set up...') #2 /var/www/vendor/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Procedure/ProcedureCompiler.php(107): JonnyW\PhantomJs\Procedure\ProcedureValidator->validate('??/**? * Set up...') #3 /var/www/ in /var/www/vendor/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Procedure/Procedure.php on line 138
解決策は getEngine()->setPath でPhantomJSのパスを指定してあげればいいようです。
$client = Client::getInstance(); $client->getEngine()->setPath('vendor/bin/phantomjs');
これでエラーが出なくなりました!