Php 如何解决;进程已通过信号11“发出信号”快活的图书馆?

Php 如何解决;进程已通过信号11“发出信号”快活的图书馆?,php,laravel,snappy,Php,Laravel,Snappy,我正在使用Laravel 5.7中的Snappy PDF库。在本地,它一切正常,但在我的开发环境中,我得到了一个错误:进程被信号“11”通知。直到现在,我还没有找到一个对我有帮助的解决办法。这是我在控制器中的代码: public function pdfReport(Request $request){ $pdf = \Snappy::loadView('index', compact( 'name', 'lname', 'date', 'add

我正在使用Laravel 5.7中的Snappy PDF库。在本地,它一切正常,但在我的开发环境中,我得到了一个错误:进程被信号“11”通知。直到现在,我还没有找到一个对我有帮助的解决办法。这是我在控制器中的代码:

   public function pdfReport(Request $request){
    $pdf = \Snappy::loadView('index', compact(
                  'name', 'lname', 'date', 'address'
                  ))
                  ->setOrientation('portrait')
                  ->setOption('margin-bottom', 0)
                  ->setOption('margin-top', 0)
                  ->setOption('margin-left', 0)
                  ->setOption('margin-right', 0);
     return $pdf->download(str_replace(' ', '', $request->description) . Carbon::now()->format('dYm_His') . '.pdf');
  }
感谢您的帮助

如何在以下方面公开发行:

解决方案1:

您应该将snappy.php配置文件中的二进制路径设置为供应商目录中的二进制路径

<?php

return array(
    'pdf' => array(
        'enabled' => true,
        'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
        'timeout' => false,
        'options' => array(),
    ),
    'image' => array(
        'enabled' => true,
        'binary' => base_path('vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64'),
        'timeout' => false,
        'options' => array(),
    ),
);
解决方案3:


wkhtmltopdf-amd64已损坏。请再次下载并重试。

这可能与OP的问题无关,但如果其他人收到此消息,可能会有所帮助:

在我的例子中,
进程已通过信号“11”发出信号
异常链接到无限循环。我在运行一个陷入自调用递归的测试用例时遇到了这个异常

更一般地说,
信号11
是分段错误,异常由Symfony进程类引发。分段错误通常是非法内存访问,可能由缓冲区或堆栈溢出引起

因此,在我的例子中,这是由于无限递归导致的堆栈溢出

$pdf = PDF::loadHTML($html)
    ->setOption('disable-javascript', true)
    ->stream();