php - 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%
有谁知道为什么第二个电话不起作用?
我很感激帮助。
解决方案
推荐阅读
- tensorflow - 是否可以将 TFLite 配置为返回偏差量化为 int8 的模型?
- pm2 - 如何从 systemctl 停止 pm2 进程
- javascript - 过滤javascript异步获取响应
- javascript - SCSS 的 Flexbox 在 Firefox 上正常工作,但在其他浏览器(例如 Chrome、Edge 等)上不能正常工作
- c# - Chrome 未设置会话的 Cookie
- javascript - keep getting empty result on my previous promise
- angular - 如何防止 Angular 工作区中的跨项目?
- ruby-on-rails - Poro 的 FactoryBot 工厂导致未定义的方法“构建”
- python - 导入自己的包和模块的问题
- list - 使用的最佳数据结构