首页 > 解决方案 > wkhtmltopdf 正在通过终端工作,但不是通过 PHP

问题描述

我正在尝试从我创建的 HTML 页面创建一个 PDF 文件,为此我正在使用 wkhtmltopdf。
出于某种原因,当我尝试调用 exec() 函数时,wkhtmltopdf 将无限期地运行。在最后一次测试中,我让它运行了 10 分钟,直到我终止了该进程。

当我尝试将项目中的任何页面绝对用作源时,就会出现问题。
当我通过终端执行命令时,使用谷歌作为源,生成 PDF。
当我通过终端执行命令时,使用我的页面作为源,生成 PDF。
当我通过 PHP 执行命令时,使用 Google 作为源,生成 PDF。
当我通过 PHP 执行命令时,使用我的页面作为源,不会生成 PDF。

我的代码很简单:

<?php
exec('"C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe" http://google.com/ test.pdf 2>error.txt');
exec('"C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe" http://localhost:8000/info.php test2.pdf 2>error.txt');
?>

对 exec() 函数的第一次调用运行良好,但第二次调用却没有。
error.txt 文件如下所示:

Loading pages (1/6)  
[>                                                           ] 0%  
[======>                                                     ] 10%

有谁知道为什么第二个电话不起作用?
我很感激帮助。

标签: phpwindowspdfwkhtmltopdf

解决方案


推荐阅读