Fatal error: Switch statements may only contain one default clause in mpdf.php

Fatal error: Switch statements may only contain one default clause in mpdf.php

我正在使用 mPDF,它在本地主机上运行良好。我将项目上传到实时服务器,但它没有正确生成 pdf。

<?php

// HTML ommited

$body = ob_get_clean();

include ("mpdf/mpdf.php");

$mpdf = new mPDF('+aCJK', 'A4', '', '', 0, 0, 0, 0, 0, 0);

$mpdf->WriteHTML($body);

$mpdf->Output('SaveToPDF.pdf', 'D');

在顶部,我放了错误显示代码。要查看错误出了什么问题,我有以下错误。

Fatal error: Switch statements may only contain one default clause in /customers/d/e/a/....URL..GO..HERE/mpdf.php on line 1432

我在我的本地主机上使用 PHP 版本 5.6.31,在现场我使用 one.com 并且在那里我可以切换到不同的 PHP 版本,我尝试了所有。即 5.6、7.0、7.1、7.2 测试版

I am using mPDF 5.7 and it is not composer version. I wanted to use chines character for my pdf and it good support available in 5.7. That's why I chose older version

mpdf 版本不支持 PHP7,很遗憾(mpdf issue)。您可以:

  1. 切换到实际的mpdf版本并使用中文字体;
  2. 或者将您的实时服务器 PHP 更改为 5.6 (PHP RFC multiple default cases syntax error);
  3. 或者自己在 mpdf 源中解决这个开关问题(人们讨论了可能的解决方案 in this hhvm issue),你只需要删除其中一个 default 语句。

较旧的 post 但这可能对某些人有帮助,我在将网站从 PHP 5.6 移动到 PHP 7 时遇到了同样的问题,我找到了 MPDF 的更新版本https://github.com/kbs1/mpdf-5.7-php7

对我来说很好