Php 如何解决;进程已通过信号11“发出信号”快活的图书馆?
我正在使用Laravel 5.7中的Snappy PDF库。在本地,它一切正常,但在我的开发环境中,我得到了一个错误:进程被信号“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
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();