symfony 退出状态代码“127”表示出现错误:

nnt7mjpx  于 2023-11-22  发布在  其他
关注(0)|答案(5)|浏览(158)

我在knpSnappyBundle上有这个错误,我试图生成一个pdf,然后通过电子邮件发送。
我的配置看起来像这样:

knp_snappy:
pdf:
    enabled:    true
    binary:     \vendor\h4cc\bin\wkhtmltopdf-amd64\bin\wkhtmltopdf-amd64
    options:    []

字符串
然后我的控制器:

$html = $this->render('AppUserBundle:Emails:envoi-export.html.twig', [
                                      'pointagesList' => $pointagesList,
                                      'user'          => $user,
                                      'date'          => new \DateTime()
                                  ]);
  $filename = sprintf('test-%s.pdf', date('Y-m-d'));

  return new Response(
      $this->get('knp_snappy.pdf')->getOutputFromHtml($html),
      200,
      [
          'Content-Type'        => 'application/pdf',
          'Content-Disposition' => sprintf('attachment; filename="%s"', $filename),
      ]
  );


完整错误消息:
退出状态代码“127”表示出现错误:stderr:“sh:1:/usr/local/bin/wkhtmltopdf:not found“stdout:“”命令:/usr/local/bin/wkhtmltopdf --lowquality“/tmp/knp_snappy57970542debe22.97700913.html”"/tmp/knp_snappy57970542dec563.25042325.pdf“。

kmpatx3s

kmpatx3s1#

我解决了问题,它的发生是因为系统没有安装wkhtmltopdf插件.请按照链接安装此插件:-

  • For Mac OS

https://formulae.brew.sh/cask/wkhtmltopdf
sudo ln -s /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf

  • 对于Linux操作系统

https://computingforgeeks.com/install-wkhtmltopdf-on-ubuntu-debian-linux/
sudo ln -s /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
希望这有助于未来的努力。

lbsnaicq

lbsnaicq2#

“二进制”链是你的计算机的静态路径,你在那里安装了wkhtmltopdf。如果你通过命令行安装它,它应该是:

/usr/local/bin/wkhtmltopdf

字符串
如果您将其安装在供应商存储库中,它应该在那里:

/path/to/Symfony/vendor/...

mm5n2pyu

mm5n2pyu3#

我找到了一个可行的解决方案。

  • 在供应商symfony 2中安装wkhtmltopdf
  • 在虚拟机中安装wkhtmltopdf
  • 在虚拟机中安装xvfb
  • 在安装了wkhtmltopdf的usr/local/bin中创建一个wkhtmltopdf.sh文件(xvfb-run -a -s“-screen 0 640 x480 x16”wkhtmltopdf --dpi 150 --zoom 0.6“$@”)
  • 在config.yml中使用适当的路径,例如/usr/local/bin/wkhtmltopdf.sh

我希望它能帮助一些人

ubby3x7f

ubby3x7f4#

在试图解决同样的问题时,我注意到在另一个关于这个主题的post中,根目录需要在二进制位置中指定。添加%kernel.root_dir%为我解决了这个错误。试试这个:

binary:     %kernel.root_dir%/../vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64

字符串

ubbxdtey

ubbxdtey5#

我替换了官方readme中给出的命令

cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/

字符串
随着一

cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf

相关问题