php - mPDF 不渲染图像(mPDF 错误 : IMAGE Error Could not find image file)

标签 php mpdf

4 月份在工作服务器上开始时,我们受到了这个问题的困扰。在客户报告 PDF 不再显示图像之前,我们的应用程序一切正常。

我们的 PDF 是首先通过 HTML 渲染生成的。当显示 HTML 渲染时,图像正确显示。如果将 mPDF 中注明的图像 URL 复制并粘贴到新选项卡中,图像也会正确显示。

但是...如果我们从不同的域加载图像,则图像会正确呈现。通过绝对路径、相对路径或 URL 路径加载图像都会导致此错误:

mPDF 错误:图像错误(http://www.aibsonline.co.uk/logo.gif):找不到图像文件

但是,正如您将看到的, Logo url 在粘贴时有效。文件权限已经过测试(这就是它在根目录中的原因)作为标准,最高为 777。到目前为止,在我们看到的两种情况下,服务器都是 Linux 服务器。

呈现 Logo 的 HTML 代码:

<div id="logo_wrapper" class="left">
<img width="107" height="76" src="<?php echo base_url('logo.gif'); ?>" />
</div>

在这个问题上真的很茫然,它开始影响越来越多的客户。

感谢收到的任何帮助。

更新

如果渲染代码和图像在同一目录中并且我们不使用绝对路径,则图像会渲染,例如。

<img width="107" height="76" src="logo.gif" />

最佳答案

我今天遇到了这个问题。我的问题是我使用的域名在从服务器访问时没有解析回服务器。我在服务器上的主机文件中添加了一个条目,图像开始显示。

解决我的问题的等效主机文件条目是:

127.0.0.1 www.aibsonline.co.uk

或者以其他方式确保 www.aibsonline.co.uk 在您的服务器使用的 DNS 中解析为您的服务器。

看起来 mPDF 作为 cURL 网络客户端访问图像,因此服务器上的 DNS 需要正确配置以引用自身。

关于php - mPDF 不渲染图像(mPDF 错误 : IMAGE Error Could not find image file),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23514062/

相关文章:

javascript - 获取包装器的 innerHTML,包括用户在输入元素中输入的值

php - 如何更改 mpdf 中的 li CSS?

php - 如何使用 php 防止 zalgo 文本

mpdf - mPDF 中是否允许所有 CSS 伪类?

php - mysql select 在 for 循环内时检查 mysql 结果

javascript - 提交成功后显示alert或msgbox

php - mPDF - 仅第一页的页眉,但每页的页脚

php - 在 php 中使用 mpdf 无法生成 PDF

php - 如何使用 html5 和 mysql 创建多个自动完成字段

php - Laravel 组违规