Когда я запускаю скрипт в Cli с $ php test.php
изображение создает нормально. Ниже приведен скрипт php.
require_once 'vendor/autoload.php';
use Knp\Snappy\Image;
$snappy = new Image(APP_PATH . 'vendor/bin/wkhtmltoimage-amd64');
$snappy->generateFromHtml('<h1>Bill</h1><p>You owe me money, dude.</p>', APP_PATH . 'test.jpg');
Когда я вызываю файл в браузере, я получаю следующую ошибку.
Warning: file_put_contents(/tmp/php/domain.dev/knp_snappy545b2790c0b664.98469880.html): failed to open stream:
No such file or directory in /vagrant/sites/clients/domain.dev/public/vendor/knplabs/knp-snappy/src/Knp/Snappy/AbstractGenerator.php on line 332
Fatal error: Uncaught exception 'RuntimeException' with message
'The file '/vagrant/sites/clients/domain.dev/public/includes/../test.jpg' was not created
(command: /vagrant/sites/clients/domain.dev/public/includes/../vendor/bin/wkhtmltoimage-amd64 --format 'jpg'
'/tmp/php/domain.dev/knp_snappy545b2790c0b664.98469880.html'
'/vagrant/sites/clients/domain.dev/public/includes/../test.jpg').'
in /vagrant/sites/clients/domain.dev/public/vendor/knplabs/knp-snappy/src/Knp/Snappy/AbstractGenerator.php:276
Stack trace:
#0 /vagrant/sites/clients/domain.dev/public/vendor/knplabs/knp-snappy/src/Knp/Snappy/AbstractGenerator.php(132): Knp\Snappy\AbstractGenerator->checkOutput('/vagrant/sites/...', '/vagrant/sites/...')
#1 /vagrant/sites/clients/domain.dev/public/vendor/knplabs/knp-snappy/src/Knp/Snappy/AbstractGenerator.php(142): Knp\Snappy\AbstractGenerator->generate('/tmp/php/snowma...', '/vagrant/sites/...', Array, false)
#2 /vagrant/sites/clients/domain.dev/public/test.php(9): Knp\Snappy\AbstractGenerator->generateFromHtml('
in /vagrant/sites/clients/domain.dev/public/vendor/knplabs/knp-snappy/src/Knp/Snappy/AbstractGenerator.php on line 276
Перепробовал всевозможные vagrant инициализации с разными разрешениями set / tmp file permissions, думая что это там. Но что может отличаться в разрешениях от cli для браузера, которые могут вызвать это?
Задача ещё не решена.
Других решений пока нет …