PHP 5.xとmPDF6.xを長い間使用しています。
今週、システムをPHP7.1にアップグレードすることにしましたが、それでもmPDF6を使用しています。
アップグレード後に問題が発生しました。
問題1 ::
コンソールにエラーメッセージが表示されます:クラス名と同じ名前のコンストラクタは非推奨です。
各phpファイルを調べてクラスを見つけ、コンストラクター関数を__construct(...)に置き換えます。
問題2 ::
コンソールにエラーメッセージが表示されます::プロパティIDを$ attrに割り当てることができません関数MergeCSS(...)のファイルmPDF.phpに移動します。 3行目に新しいコード行を追加します。
if(empty($ attr)){$ attr = array();}
問題3 ::
コンソールに次のエラーメッセージが表示されます::「行30648に数値以外の値が見つかりました」。
この問題を解決するための私の解決策は、次のとおりです。
関数ConvertSize()を関数ConvertSize()およびmultiplyFontSize()に置き換える。
https://github.com/mpdf/mpdf/blob/development/src/SizeConverter.php
const SCALE = 72/25.4;
この問題に直面している誰かのためにこの助けを願っています。
完全な「数値以外の値が検出されました」という修正が必要な場合。 commit でmpdf6.1.3のフォークされたリポジトリを見てください。
参考:PHP7は、複数のデフォルトブロックを持つswitchステートメントを検出すると、コンパイル時エラーをスローします。 mpdfは、switchステートメントで複数のデフォルトブロックを使用します。