【问题标题】:mPDF class not found未找到 mPDF 类
【发布时间】:2017-11-27 15:53:55
【问题描述】:

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

【问题讨论】:

  • 您是否通过 composer 安装了 mPDF 版本 7?
  • 请看下面的答案。

标签: php mpdf


【解决方案1】:

这个错误原来是由 MacOSX 缺少 PHP 版本 7 引起的。在它缺席的情况下,Composer 安装了与 PHP 5.5 兼容的 mPDF 版本 6,这是 MacOSX 所拥有的(至少在 v 10.10.5 中,这是我有)。我在上面发布的代码需要 mPDF 版本 7,因此在与 mPDF 版本 6 一起使用时会导致错误。据称有一个在 MacOSX 上安装 PHP 7 的解决方案,称为 php_osx,但到目前为止我还没有让它在我的机器上运行(参见 @ 987654321@).

我现在的解决方案是坚持使用 mPDF 版本 6 并相应地调整代码(还有一个 mPDF 版本 6 手册仍然在here)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    相关资源
    最近更新 更多