找不到mPDF类

时间:2017-11-24 10:36:16

标签: php mpdf

此代码直接取自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'
]);
?>

1 个答案:

答案 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)。