我们在4月份开始在工作服务器上开始受到困扰.我们的应用程序一切正常,直到客户报告PDF不再显示图像.
我们的PDF首先通过HTML渲染生成.显示HTML渲染时,图像显示正确.如果将mPDF中记录的图像URL复制并粘贴到新选项卡中,图像也会正确显示.
但是......如果我们从不同的域加载图像,则图像会正确呈现.通过绝对路径,相对路径或URL路径加载图像都会导致此错误:
mPDF错误:IMAGE错误(http://www.aibsonline.co.uk/logo.gif):找不到图像文件
但是,正如您将看到徽标网址在粘贴时有效.文件权限已经过测试(这就是为什么它在根目录中)作为标准,最多777.在我们目前为止看到的两种情况下,服务器都是Linux服务器.
呈现徽标的HTML代码:
<div id="logo_wrapper" class="left">
<img width="107" height="76" src="<?php echo base_url('logo.gif'); ?>" />
</div>
Run Code Online (Sandbox Code Playgroud)
真的失去了这个,它开始影响越来越多的客户.
任何帮助感激不尽.
UPDATE
如果渲染代码和图像在同一目录中,并且我们不使用绝对路径,则图像呈现,例如.
<img width="107" height="76" src="logo.gif" />
Run Code Online (Sandbox Code Playgroud)
小智 11
我今天遇到了这个问题.我的问题是,当我从服务器访问时,我使用的域名没有解析回服务器.我在服务器上的hosts文件中添加了一个条目,并开始显示图像.
您的等效主机文件条目修复了我的问题:
127.0.0.1 www.aibsonline.co.uk
Run Code Online (Sandbox Code Playgroud)
或者确保www.aibsonline.co.uk在服务器使用的DNS中解析为您的服务器.
似乎mPDF将图像作为cURL Web客户端访问,因此需要正确配置服务器上的DNS以引用回自身.
我遇到了类似的问题,我通过以下方式解决:
1.检查是否已安装gd库并在php ini文件中启用.如果没有安装gd库.
2.打开调试变量
$mpdf = new mPDF();
$mpdf->showImageErrors = true;
Run Code Online (Sandbox Code Playgroud)
3.尝试互换图像的绝对/相对路径
<img src="http://someDomain/directory/image.jpg">
<img src="./directory/image.jpg">
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.