我设法在本地开发上解决这个问题
我的设置如下:
XAMPP on windows 10
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库本身 .