mpdf 图像错误,找不到图像文件

Posted

技术标签:

【中文标题】mpdf 图像错误,找不到图像文件【英文标题】:mpdf Image error, could not find image file 【发布时间】:2015-01-28 16:54:58 【问题描述】:

我已经用这个把头发扯了两天了,我不禁觉得它简单得可笑。

当尝试对 mpdf 库使用标准 jpg 图像时,我收到以下图像错误...

<B>mPDF error: </B>IMAGE Error (https://www.example.net/myimage.jpg): Could not find image file
    http 和 https 我都试过了 我已经尝试了here 的解决方案,包括编辑服务器主机文件、检查权限 无论图片的url是什么都会出现问题(外部图片也会出现同样的问题) 我已经确定服务器上安装了php gd和curl 我通过直接复制粘贴错误链接,反复检查确保图片路径正确。

注意事项,

我在另一台服务器上进行了这项工作(但它是共享主机,所以一切都已设置好,我使用 phpinfo() 比较了两者,我能看到的唯一区别是我的 php 版本稍新。 自从移动网站后,我还遇到了另一个问题,该问题还涉及读取 url,即使 url 正确,我也会收到 404 not found 错误 我在 Windows 上使用我的 hosts 文件将域指向此服务器,因此它尚未生效

【问题讨论】:

我最近在 curl 和 mpdf 方面遇到了同样的问题,这是主机的问题 - 你已经提到过。因此,如果有办法朝那个方向尝试其他方法——我会建议这样做。我也在这里找到了类似的答案***.com/a/9579996/1332837 我从来没有真正解决过这个问题,但我在完全相同的服务器上设置了一个副本开发站点,它有自己的真实实时 URL,它运行良好,所以它肯定与主机文件有关,而不是服务器设置问题。然而,由于所有的变化和混乱,我试图在服务器和本地处理主机文件,我无法让它在“实时”版本上工作。我冒着风险更改了 A 记录并简单地将其变为现实(知道这不是 php 或服务器设置问题),并且成功了。 ***.com/questions/23514062/…的可能重复 【参考方案1】:

我设法在本地开发中解决了这个问题

我的设置如下:Windows 10 上的 XAMPP php版本5.6.35 启用 SSL mpdf版本5.4

该问题与 SSL/TLS 版本不兼容有关。 至于我修补mpdf.php的解决方案

在mpdf.php类结束前添加如下函数

private function _curl($url)

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_ENCODING,"");
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_TIMEOUT,10);
    curl_setopt($ch, CURLOPT_FAILONERROR,true);
    curl_setopt($ch, CURLOPT_VERBOSE, true);

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;

然后添加这一行以在函数 _getImage 中调用上述函数(大约第 9283 行〜某事,我的行号可能与您的不同) 在抛出错误消息之前

// patch
if (empty($data)) 
    $data = $this->_curl($file);

// end patch

if (!$data)  return $this->_imageError($file, $firsttime, 'Could not find image file'); 

此方法是为了防止过多地更改 mpdf 库本身。

注意:此解决方案可能不适用于所有设置!您可以参考以下链接了解更多信息。 参考:https://***.com/a/42185532/209247

【讨论】:

以上是关于mpdf 图像错误,找不到图像文件的主要内容,如果未能解决你的问题,请参考以下文章

mPDF:为整页使用背景图像

使用 numpy 时出现“找不到合适的图像”错误

ValueError: 找不到以单图像模式写入指定文件的格式

如果找不到图像则回退

如何将图像导入打字稿?他说“找不到模块”

从 PyQt4 导入 QtGui 时找不到图像错误