[英]Image error in DOMPDF for ZF2
大家好,欢迎光临,对不起我的英语而不是我的主要语言。 我也是Zend Framework 2的初学者。 当我尝试在网页中显示图像时,ZF2中的DOMPDF出现了问题(带有apache2的虚拟主机,桌面中的文件夹)。 例如:
<img src="/home/luifer/logo_uca.png" alt="logo_uca" />
与错误:
[2014年5月18日,星期日12:28:45.023452] [:错误] [pid 7195] [客户端127.0.0.1:57089] PHP致命错误:未捕获的异常'DOMPDF_Exception',消息为'未找到块级父。 不好。' 在/home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/inline_positioner.cls.php:37\\nStack trace:\\ n#0 / home / luifer / Desktop / zf2-tutorial / vendor / dompdf / dompdf / include / frame_decorator.cls.php(700):Inline_Positioner-> position()\\ n#1 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/inline_frame_reflower.cls.php(36) :Frame_Decorator-> position()\\ n#2 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/frame_decorator.cls.php(711):Inline_Frame_Reflower-> reflow(NULL)\\ n#3 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/page_frame_reflower.cls.php(123):Frame_Decorator->reflow()\\n#4 / home / luifer / Desktop / zf2-tutorial / vendor /dompdf/dompdf/include/frame_decorator.cls.php(711):Page_Frame_Reflower-> reflow(NULL)\\ n#5 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/dompdf.cls。 php(949):Frame_Decorator-> reflow()\\ n#6 / home / luifer / Desktop / zf2-tutorial / vendor / dino / dompdf-module / src /在/ home / luifer / Desktop / zf2-tutorial / vendor / DOMPDF / DOMPDF /在 在第37行上clude / inline_positioner.cls.php
当我手动在浏览器上打开同一页面时(用浏览器右键单击打开的页面),图像显示在页面中。
以防万一,我的控制器功能:
public function extraordinarioAction()
{
//quitar de la bd
$pdf = new PdfModel();
return $pdf;
}
我的视图页面是extraordinario.phtml,上面有一个html页面。 我尝试了一个带有加载图像的简单页面,但没有任何显示,只有空白页面出现了此错误。
有人知道如何解决这个问题吗? 我已经做了一些事情,例如启用mbstring 。
有任何想法吗? 并预先感谢。
其他回答:由于DomPDF无法读取文件,因此可能会出现此问题。 由于您的Web应用程序中正在运行DomPDF,因此php可能拥有该进程(例如www-data
)。 该用户应该对您要读取的图像具有读取权限。
另一个问题是您的映像位于/home/luifer
。 有时,其他用户无法读取用户目录。
因此:最好的选择是将图像放置在共享位置(例如/var/www
某个位置)。 否则,请确保该文件对于其他人而言是可读的( chmod a+r logo_uca.png
),并且所有父目录对于其他人都是可执行的( chmod a+x /home/luifer
)。 请检查每个目录,说“桌面中的文件夹”,因此,如果文件位于/home/luifer/Desktop
,请同时检查Desktop
文件。
根据dompdf文档(可在此处找到): https : //code.google.com/p/dompdf/wiki/FAQ
它说:“应在0.4.1及更高版本中修复此问题。该错误是由parse_url()认为'c:\\'中的'c'是一个协议引起的。0.4.1版可解决此问题。另一种可能问题是由于文件未正确上传引起的。请尝试重新上传文件。”
希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.