MPDF pdf 未在任何浏览器中打开,Codeigniter 中未显示错误
Posted
技术标签:
【中文标题】MPDF pdf 未在任何浏览器中打开,Codeigniter 中未显示错误【英文标题】:MPDF pdf is not opening in any browser, no error showing in Codeignitor 【发布时间】:2019-10-02 03:37:55 【问题描述】:我使用 mpdf 生成动态 pdf,PDF 工作正常,但在在线服务器上,当我尝试在浏览器中预览 pdf 或将其下载到我的电脑时,它显示“无法加载 Pdf”。 我也试过在编辑器中检查它,我没有找到任何错误符号。
Ob_clean(); // not working for me
这是我的代码:-
<?php
require_once 'vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->Writehtml('
<table style="text-align:center; background: '.$color1.'; color: '.$color2.'; width: 100%">
<tr>
<td style="width: 50%; font-size: 45px;">
HI,
</td>
</tr>
<tr>
<td style="width: 100%;">
<table style="width: 80%; border: 4px solid #fff;">
<tr>
<td>I am</td>
</tr>
<tr>
<td style="font-size: 32px;">'.$_POST['input1'].'</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="width: 100%;">
<table>
<tr>
<td style="font-size: 20px;">'.$_POST['input2'].'</td>
</tr>
</table>
</td>
</tr>
</table>
');
$file_name = "resume.pdf";
$mpdf->Output($file_name, 'I');
?>
【问题讨论】:
【参考方案1】:Mpdf 需要 PHP 5.4+ 确保提供以下必需的 PHP 模块:
gd mbstring如果不是在 Linux 中,我们可以使用以下两个命令进行安装(将 7.0 更改为您服务器的 PHP 版本)
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-mbstring
重要:还要检查 resume.pdf 保存为 www-data 的组,并且它具有递归写入权限。 我们可以通过以下命令添加它
sudo chgrp -R www-data folderpathhere/
sudo chmod -R g+w folderpathhere/
【讨论】:
mbstring 和 gd 扩展都已启用,我的 php 版本也是 7.1。我正在尝试修复此问题 3 天,没有显示任何错误。我也在编辑器中检查过。 文件权限呢? 打开 Apache 错误日志..并检查最新的错误..它将主要在 /var/log/apache2/ 文件夹中 这是错误日志中的错误 - PHP 致命错误:第 0 行的 Unknown 中允许的内存大小为 536870912 字节已用尽(尝试分配 400556032 字节) 也检查错误时间...如果是因为pdf解决了关注***.com/questions/415801/…以上是关于MPDF pdf 未在任何浏览器中打开,Codeigniter 中未显示错误的主要内容,如果未能解决你的问题,请参考以下文章
Mpdf 不从内联 chrome 浏览器下载 pdf(但显示 pdf)