致命错误:switch语句在mpdf.php中只能包含一个default子句

时间:2017-11-08 20:01:22

标签: php mpdf

我正在使用mPDF,它与localhost一起工作正常。我将项目上传到实时服务器,但它没有正确生成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');

在顶部,我把错误显示代码。要查看错误出错,我有以下错误。

  

致命错误:Switch语句中只能包含一个默认子句   第1432行/customers/d/e/a/....URL..GO..HERE/mpdf.php

我在我的Localhost和现场使用PHP版本5.6.31我正在使用one.com,在那里我可以切换到不同的PHP版本,我尝试了所有。即5.6,7.0,7.1,7.2 beta

  

我使用的是mPDF 5.7,它不是作曲家版本。我想用   我的pdf的中文字符和5.7中提供的良好支持。   这就是我选择旧版

的原因

2 个答案:

答案 0 :(得分:7)

旧的mpdf版本不支持PHP7 mpdf issue)。您可以:

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

答案 1 :(得分:2)

较旧的帖子,但这可能有助于某人,我有同样的问题将网站从PHP 5.6移动到PHP 7,我发现MPDF的更新版本在https://github.com/kbs1/mpdf-5.7-php7

可以正常使用