【シンプルな解決方法】TCPDF ERROR: [Image] Unable to get the size of the image:

  • 2021.10.01
  • PHP
【シンプルな解決方法】TCPDF ERROR: [Image] Unable to get the size of the image:

2021年に突然PHPライブラリTCPDFのエラーが表示される

ある日突然、TCPDFライブラリを使用しているサイトで以下のエラーが表示されるようになりました。

TCPDF ERROR: [Image] Unable to get the size of the image: ….

急に現れるようになったのでサーバ側が要因かと思い中心に調べました。

Unable to get the size of the imageが表示される原因

ものすごーーーくザックリ説明すると、外部の画像を取得しようとしているのでセキュリティー的によくないのでエラーが出てしまっていました。
すみません、詳しい説明はいまは割愛させてもらいます。。

他に影響を与えず簡単に修正してみる

同じ現象の解決方法を書いている他のブログを見つけました。
そこではPHPの設定ファイルであるphp.ini に”openssl.cafile”の記述を追加するというものがありましたが、今回は他に影響を与えないようにシンプルに解決したいと思います。

私は絶対パスを相対パスに書き換えることでエラーを解消しました。

主にエラーになってしまう部分が以下のような記述です。

	$pdf->Image('https://hoge.com/test.jpg', $x, $y);
	$html = '<img src="https://hoge.com/image.jpg" />';
	$pdf->writeHTML( $html, false, 0, true, false );

このような画像を絶対パスで書かれている部分を相対パスに書き換えることでエラーが解消されました。

あまり無いケースだと思いますが外部のファイルを参照している場合は、一度自身のサーバーに画像ファイルを保存してあげて参照することで解決することができます!

以上、参考にして下さい。