我在config / snappy.php中的配置文件有问题 在Windows编程中,我有这种配置,工作真的很好,问题是当我将代码放在linux的生产应用程序中时,配置不一样。...
return array(
'pdf' => array(
'enabled' => true,
'binary' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"',
//'binary' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf"',
'options' => array(),
),
'image' => array(
'enabled' => true,
'binary' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltoimage.exe"',
'options' => array(),
),
);
我尝试使用此配置,但无法正常工作...
'binary' => '/usr/local/bin/wkhtmltopdf-amd64',
并且也有这行
'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
但不起作用...
有Ubuntu
php 7.0
laravel 5.5
谢谢
答案 0 :(得分:0)
首先,您必须使用composer require knplabs/knp-snappy
安装敏捷的依赖项(请参阅此repository)
然后二进制文件将位于/vendor/h4cc/wkhtmltoimage-amd64/bin and /vendor/h4cc/wkhtmltopdf-amd64/bin
将二进制文件移动到不在同步文件夹中的路径,例如:
cp vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64 /usr/local/bin/
cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/
使其可执行:
chmod +x /usr/local/bin/wkhtmltoimage-amd64
chmod +x /usr/local/bin/wkhtmltopdf-amd64
这将防止错误126。
请查看并浏览文档here
如果您遵循了无所事事的步骤,则该行应该看起来像
'binary'=>'/ usr / local / bin / wkhtmltopdf-amd64',
答案 1 :(得分:0)
如果要使用composer下载wkhtmltopdf和wkhtmltoimage,请添加到composer.json:
$作曲家需要h4cc / wkhtmltopdf-i386 0.12.x
$作曲家需要h4cc / wkhtmltoimage-i386 0.12.x
或者如果您使用的是基于64位的系统,则此操作:
$ composer require h4cc/wkhtmltopdf-amd64 0.12.x
$ composer require h4cc/wkhtmltoimage-amd64 0.12.x
您现在应该可以从cmd / terminal使用它。
您可以像这样在PHP中使用它:
<?php
use Knp\Snappy\Pdf;
$myProjectDirectory = '/path/to/my/project';
$snappy = new Pdf($myProjectDirectory . '/vendor/h4cc/wkhtmltopdf-i386/bin/wkhtmltopdf-i386');
// or
$snappy = new Pdf($myProjectDirectory . '/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64');
如果您是vagrant
用户,则应使用mv
命令将二进制文件移至未同步的文件夹。然后使用chmod +x
命令将其变为可执行文件。
您可以添加如下要求:
composer require barryvdh/laravel-snappy
然后使用此命令更新作曲家
php composer.phar update
您可以找到基本用法here...
答案 2 :(得分:0)
这是解决方案
$作曲家需要h4cc / wkhtmltopdf-amd64 0.12.x $作曲家需要h4cc / wkhtmltoimage-amd64 0.12.x
我的错误是将此命令放在项目文件夹中,但在根目录中...
谢谢