我需要发送一封附有PDF的电子邮件。所有这些都与SnappyBundle和Swift非常简单。每当向../document_name/{id}/mail发出呼叫时,就会生成pdf并发送电子邮件。
为了使用户exp更好一些,我决定用RabbitMQ实现Messenger组件来排队这个操作。但现在一切都不了了之了。这是我正在犯的错误:
The exit status code '1' says something went wrong:
stderr: "The system cannot find the path specified.
"
stdout: ""
command: ..\vendor\bin\wkhtmltopdf.exe.bat --dpi "300" --image-quality 100 --page-size "A4" --footer-html "C:\Users\user\AppData\Local\Temp\knp_snappy5c8bfb5887e059.82496553.html" --header-html "C:
\Users\user\AppData\Local\Temp\knp_snappy5c8bfb588a7c92.82567496.html" "C:\Users\user\AppData\Local\Temp\knp_snappy5c8bfb588659c2.24298174.html" "C:\Users\user\AppData\Local\Temp\knp_snappy5c8bfb
5887d116.94779844.pdf".messenger:consume_messages不使用时,生成pdf并发送它的服务工作得很好。$msg->send();时立即发送电子邮件,并且为了不将它放在记忆中,我在swiftmailer.yml上注释掉了# spool: { type: 'memory' },因为否则当messenger:consume_messages运行de服务时不会发送电子邮件。发布于 2019-03-16 18:25:58
不确定它的预期行为或我的不良实践,但是当一个服务被进程/命令调用时,相对路径不起作用。因此,这个解决方案很简单,而不是设置wkhtmltopdf可执行文件y的相对路径,而是设置一个绝对路径。这个应该是这样的:
# .env.local
WKHTMLTOPDF_PATH="../vendor/bin/wkhtmltopdf.exe.bat"
# changed to:
WKHTMLTOPDF_PATH="absolute/bath/to/vendor/bin/wkhtmltopdf.exe.bat"希望这能帮到别人
https://stackoverflow.com/questions/55189865
复制相似问题