J'ai un problème avec le fichier de configuration dans config / snappy.php programmation sous windows j'ai cette configuration, fonctionne vraiment bien, le problème est que lorsque je mets le code dans mon application de production sous linux, la configuration n'est pas la même ....
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(), ), );
J'essaye avec cette configuration mais ne fonctionne pas ...
'binary' => '/ usr / local / bin / wkhtmltopdf-amd64',
et avec cette ligne aussi
'binary' => base_path ('vendor / h4cc / wkhtmltopdf-amd64 / bin / wkhtmltopdf-amd64'),
mais ne fonctionne pas ...
avoir ubuntu
php 7.0
laravel 5.5
Merci
3 Réponses :
Vous devez d'abord installer la dépendance Snappy à l'aide de composer require knplabs / knp-snappy
(veuillez consulter ceci référentiel )
alors les binaires seront dans / vendor / h4cc / wkhtmltoimage-amd64 / bin et / vendor / h4cc / wkhtmltopdf-amd64 / bin
Déplacez les binaires vers un chemin qui ne se trouve pas dans un dossier synchronisé, par exemple:
cp vendor / h4cc / wkhtmltoimage-amd64 / bin / wkhtmltoimage-amd64 / usr / local / bin /
cp vendor / h4cc / wkhtmltopdf-amd64 / bin / wkhtmltopdf-amd64 / usr / local / bin /
et rendez-le exécutable:
chmod + x / usr / local / bin / wkhtmltoimage-amd64
chmod + x / usr / local / bin / wkhtmltopdf-amd64
Cela évitera l'erreur 126.
Veuillez consulter et parcourir la documentation ici
Si vous avez suivi les étapes du vagabond, la ligne devrait ressembler à
'binary' => '/ usr / local / bin / wkhtmltopdf-amd64',
Si vous souhaitez télécharger wkhtmltopdf et wkhtmltoimage avec le compositeur que vous ajoutez à composer.json:
$ composer nécessite h4cc / wkhtmltopdf-i386 0.12.x
$ composer nécessite h4cc / wkhtmltoimage-i386 0.12.x
ou ceci si vous êtes dans un système basé sur 64 bits:
php composer.phar update
Vous devriez pouvoir l'utiliser à partir de cmd / terminal maintenant.
Vous pouvez l'utiliser en PHP comme ceci:
composer require barryvdh/laravel-snappy
Si vous êtes un utilisateur vagrant
, vous devez déplacer les binaires vers un dossier non synchronisé en utilisant Commande mv
. Ensuite, rendez exdcutable en utilisant la commande chmod + x
.
Vous pouvez ajouter une exigence comme celle-ci:
<?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');
Ensuite, mettez à jour le composeur en utilisant cette commande
$ composer require h4cc/wkhtmltopdf-amd64 0.12.x $ composer require h4cc/wkhtmltoimage-amd64 0.12.x
Vous pouvez trouver l'utilisation de base ici ...
c'est la solution
$ composer nécessite h4cc / wkhtmltopdf-amd64 0.12.x $ composer nécessite h4cc / wkhtmltoimage-amd64 0.12.x
mon erreur a été placée cette commande dans le dossier du projet, mais elle est à la racine ...
merci
La permission de fichier est-elle accessible ???
je ne comprends pas ce que cela veut dire? ... j'essaye de dire pourquoi la permission peut être le problème ici @ A.ANoman? Merci
Si le chemin de votre fichier est correct et que la permission est correcte, cela fonctionne bien, je peux voir