問題タブ [knp-snappy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Symfony 4 amqp/messenger は pdf を生成します
PDFを添付してメールを送信する必要がありました。SnappyBundle と Swift Mailer を使えば、これらすべてを簡単に行うことができます。呼び出しが行われるたびに../document_name/{id}/mail
、pdf が生成され、電子メールが送信されます。
ユーザー経験値を少し改善するために、RabbitMQ を使用して Messenger コンポーネントを実装し、このアクションをキューに入れることにしました。しかし、この時点でスナッピーの状況はちょっと壊れました。これは私が得ているエラーです:
- PDF を生成して送信するサービスは、
messenger:consume_messages
. - Swift Mailer がメールを送信したらすぐに送信し、メモリにスプールしないようにするために、オン
$msg->send();
をコメントアウトしました。そうしないと、サービスが実行されたときにメールが送信されません。# spool: { type: 'memory' }
swiftmailer.yml
messenger:consume_messages
php - カスタムヘッダー引数を Knp SnappyBundle に渡す
Symfony 4 で Knp SnappyBundle を使用しています。
custom-header 引数 ( --custom-header <name> <value>
) をwkhtmltopdf
yaml 経由で、またはリクエストのオプションとして渡すのに問題があります。
これが私が試みていることですが、失敗しているようです:
また、値を配列として渡そうとしましたが、それも失敗します。
php - 共有サーバーの open_basedir 制限エラーを修正するには?
私はpdfを作成するためにlaravel-snappyを設定しています。
私のスナッピー設定は以下の通りです
Tinker 内でconfig('snappy')を実行することにより、laravel プロジェクト フォルダー内にある必要な正確なパスも取得します。
しかし、次のエラーが表示されます
local.ERROR: is_dir(): open_basedir 制限が有効です。ファイル (/tmp) が許可されたパス内にありません:
PHP設定を変更せずにこれを解決するにはどうすればよいですか?