2

我正在尝试使用laravel-snappy将数据导出为 pdf 。我有

安装wkhtmltopdf- windows

composer require wemersonjanuario/wkhtmltopdf-windows 0.12.2.3

安装 laravel-snappy

composer require barryvdh/laravel-snappy

在 config/app.php 中添加服务提供者

Barryvdh\Snappy\ServiceProvider::class,

添加别名

'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,

发布的配置文件

php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"

更新了 config/snappy.php

'pdf' => [
        'enabled' => true,
        'binary'  => base_path('vendor\wemersonjanuario\wkhtmltopdf-windows\bin\64bit\wkhtmltopdf'),
        'timeout' => false,
        'options' => [],
        'env'     => [],
        ],

出现错误:

    "message": "The exit status code '1' says something went wrong:\nstderr: \"The system cannot find the path specified.\r\n\"\nstdout: \"\"\ncommand: /usr/local/bin/wkhtmltopdf --lowquality \"C:\\WINDOWS\\TEMP\\knp_snappy5dcd3b81559d67.45448784.html\" \"C:\\WINDOWS\\TEMP\\knp_snappy5dcd3b8155c8a2.62799911.pdf\".",

在这个错误中,我注意到它正在查看.exe文件/usr/local/bin/wkhtmltopdf。但是,我没有在config/snappy.php.

所以,我尝试通过将路径直接更新到vendor/barryvdh/laravel-snappy/config/snappy.php

令人惊讶的是,这有效。所以,我不明白为什么这不是从供应商文件中laravel-snappy读取路径config/snappy.php而是从供应商文件中读取。

有什么,我失踪了吗?

4

1 回答 1

0

我遇到过类似的问题,而是与另一个包有关。基本上,这种类型的问题是由于某些缓存问题而发生的。

SO,您可以尝试以下命令。

php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan config:clear
php artisan clear-compiled
composer dump-autoload
php artisan vendor:publish

特别是,cache:clear应该config:clear解决你的问题。

于 2019-11-14T12:09:17.107 回答