此代码直接取自mPDF手册,会导致错误
致命错误:未捕获错误:类' Mpdf \ Config \ ConfigVariables'不 在/HW.php:4中找到堆栈跟踪:#0 {main}在第4行的/HW.php中抛出
。
有人可以帮忙吗?
<?php
error_reporting(E_ALL); ini_set('display_errors', '1');
require_once __DIR__ . "/vendor/autoload.php";
$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf([
'fontDir' => array_merge($fontDirs, [
__DIR__ . '/vendor/mpdf/mpdf/extrafonts/Open_Sans/',
]),
'fontdata' => $fontData + [
'open_sans' => [
'R' => 'OpenSans-Regular.ttf',
'I' => 'OpenSans-Italic.ttf',
'B' => 'OpenSans-Bold.ttf',
]
],
'default_font' => 'open_sans'
]);
?>
答案 0 :(得分:0)
这个错误原来是MacOSX缺少PHP版本7引起的。在它缺席的情况下,Composer安装了mPDF版本6,它与PHP 5.5兼容,这是MacOSX所拥有的(至少在v 10.10.5中,这是什么我有)。我上面发布的代码需要mPDF版本7,因此在与mPDF版本6一起使用时会导致错误。有一种声称的解决方案用于在MacOSX上安装名为php_osx的PHP 7,但到目前为止,我无法使其在我的机器上运行(请参阅{ {3}})。
我现在的解决方案是坚持使用mPDF版本6并相应地调整代码(还有一个mPDF版本6手册仍在this post)。