我正在使用 FPDF 库来生成 PDF。
在某些时候,我将图像包含到 pdf 中(在标题中)并执行以下操作:
require_once APPPATH . '../vendor/setasign/fpdf/fpdf.php';
class cifpdf extends FPDF {
public function __construct($params = array())
{
$this->CI = &get_instance();
$orientation = array_key_exists('orientation', $params) ? $params['orientation'] : 'P';
$mesure = array_key_exists('mesure', $params) ? $params['mesure'] : 'mm';
$format = array_key_exists('format', $params) ? $params['format'] : 'A5';
parent::__construct($orientation, $mesure, $format);
}
public function Header()
{
$logo = base_url('assets/promoters-landingpage/img/logo-inverted.png');
// Logo
$this->Image($logo, 10, 6, 30);
$this->Rect(10, 17, 129, 0.1);
// Saut de ligne
$this->Ln(10);
}
我的问题来自$this->Image($logo, 10, 6, 30);
线路
查看 pdf 供应商库中的 Image 函数,我尝试调试并发现错误来自这部分:
function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='')
{
// Some Code
if(!isset($this->images[$file]))
{
// Some Code
$type = strtolower($type);
if($type=='jpeg')
$type = 'jpg';
$mtd = '_parse'.$type;
if(!method_exists($this,$mtd))
$this->Error('Unsupported image type: '.$type);
$info = $this->$mtd($file);
// Some Code
}
// Some Code
}
所以导致超时错误的确切行是$info = $this->$mtd($file);
(库中的第 885 行)。
我不确定 $mtd 是什么?它似乎在上面定义了几行,$mtd = '_parse'.$type;
但它们没有将其与 $this 关联。不知道这是什么。
我正在使用 Nginx。同一段代码在 Apache 2 上运行良好。
谢谢你的支持。