ラブラドールレトリバー「忠太の心の声」

黒ラブ忠太と忠太パパのブログ。
最近は仕事の備忘録としてのエントリーが多いです。

php 7.x にて tFPDFを使うとエラーになる。その対処法。

2019-06-03 | Web・PC
php 7.x にて tFPDFを使うとエラーになる。

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; tFPDF has a deprecated constructor in /var/www/html/***/tfpdf/tfpdf.php on line 13
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; TTFontFile has a deprecated constructor in /var/www/html/***/tfpdf/font/unifont/ttfonts.php on line 38

error_reporting(-1); で、Deprecatedを表示してしまうと、pdf出力がエラーになる。
FPDF error: Some data has already been output, can't send PDF file

error_reporting(4); とすれば大丈夫だが、ちょっとしらべたら簡単に対処できた。

エラーの内容をググる。
MaryCore https://marycore.jp/prog/php/deprecated-constructor/

このサイトより引用
--------------------------------------------------------------------------------
原因は PHP 4 時代のコンストラクタ宣言(function T())を用いていることです。
PHP 7 ではクラス名と同名のメソッドを定義することが出来なくなってしまいました。
代わりに__constructメソッドによる宣言(function __construct())を行う必要があります。
--------------------------------------------------------------------------------

なるほど!(MaryCoreさんありがとう)

tfpdf/tfpdf.php の 79行目
function tFPDF($orientation='P', $unit='mm', $size='A4')

function __construct($orientation='P', $unit='mm', $size='A4')

tfpdf/font/unifont/ttfonts.php の 72行目
function TTFontFile() {

function __construct() {


うまくいきました。


最新の画像もっと見る

コメントを投稿