wkhtmltopdf在通过PHP执行时挂起10%但通过命令行成功运行

时间:2014-10-07 17:50:05

标签: php apache pdf centos wkhtmltopdf

我使用这里描述的phpwkhtmltopdf How do I get WKHTMLTOPDF to execute via PHP?

将html转换为pdf

set_time_limit (0);

require_once __DIR__.'/vendor/autoload.php';

use mikehaertl\wkhtmlto\Pdf; 

$pdf = new Pdf; 

$pdf->addPage('<html><h1>PDF creation successfull</h1></html>');

$pdf->send('test.pdf');
  if (!$pdf->send('test.pdf')) {
          throw new Exception('Could not create PDF: '.$pdf->getError());
      }

当我运行此操作时,我收到以下错误

  

致命错误:未捕获的异常'异常',消息'不能   创建PDF:加载页面(1/6)[&gt; ] 0%[======&gt; ] 10%'in   /home/kpninfotech/public_html/pdfbin/convert.php:30堆栈追踪:#0   {main}抛出/home/kpninfotech/public_html/pdfbin/convert.php   第30行

我也试过从php运行exec命令

   error_reporting(E_ALL);
    ini_set('display_errors', '1');
    $cmd = "/usr/bin/wkhtmltopdf http://www.kpninfotech.com test.pdf 2>&1";
    echo $t = exec($cmd);
    exit();

这里我也得到了同样的错误

  

[&GT; ] 0%[======&gt; ] 10%

但是当通过ssh执行时,pdf转换成功运行 enter image description here

但是我无法通过PHP执行,我如何通过PHP执行它?

我有VPS服务器运行centos 6.5,wkhtmltopdf版本0.12.1(带补丁qt)

1 个答案:

答案 0 :(得分:0)

我解决了这个极端问题设置选项 disable-javascript

试试这个。

use mikehaertl\wkhtmlto\Pdf; 

$pdf = new Pdf(array('disable-javascript')); 

$pdf->addPage('<html><h1>PDF creation successfull</h1></html>');

$pdf->send('test.pdf');
if (!$pdf->send('test.pdf')) {
  throw new Exception('Could not create PDF: '.$pdf->getError());
}