问题
I'm using PHP 5.x and mPDF 6.x for long time.
This week I decide to upgrade system to PHP7.1 but still using mPDF6.
I face some problem after upgrading.
PROBLEM 1::
Console show error message: constructer with the same name as class name is deprecate.
I go through each php files and find classes, then replace constructer function with __construct(...)
PROBLEM 2::
Console show error message:: Can not assign property ID to $attr I go to file mPDF.php in function MergeCSS(...). I add new line of code at third line.
if (empty($attr)) { $attr = array();}
PROBLEM 3::
Console show error message following this:: "A non-numeric value encountered" at line 30648."
My solution to solve this problem is just::
- replace mPDF->ConvertSize() function in mPDF.php file with coding from MPDF7.
By replace function ConvertSize() with function ConvertSize() and multiplyFontSize();
https://github.com/mpdf/mpdf/blob/development/src/SizeConverter.php
- Add constant to mPDF class
const SCALE = 72 / 25.4;
Hope this help for someone who face this problem.
回答1:
For people who want a complete "A non-numeric value encountered" fix. Take a look at my forked repo of mpdf 6.1.3 with commit.
回答2:
FYI: PHP7 throws a compile-time error when it encounters a switch statement with multiple default blocks. mpdf uses multiple default blocks in its switch statements.
来源:https://stackoverflow.com/questions/43994365/upgrade-to-php7-1-and-mpdf-show-error-a-non-numeric-value-encountered-at-line