我们使用dompdf几个月没有任何问题。最近我们在服务器(Ubuntu 16.04)和修复它们并重新启动之后遇到了一些其他问题。似乎DOMDocument已经消失,我们重新安装它(在PHP 7.0上)。但我们不能让它再次运作。
我们的代码:
$dompdf = new Dompdf();
$dompdf->loadHtml("hello world");
$dompdf->render();
$dompdf->stream("document");
之后只发生以下两件事:
1)当我们评论$ dompdf-> stream()行时,它只会显示以下消息:
注意:未定义的属性:第71行的/var/www/project/vendor/dompdf/src/FrameDecorator/Text.php中的DOMText :: $ data
2)取消注释时,只生成空白PDF。
我们在这里迷失了好几天,任何形式的帮助都会很棒。
非常感谢提前。
问候。
如果我们使用
var_dump($this->_frame->get_node());
来自消息的行(/var/www/project/vendor/dompdf/src/FrameDecorator/Text.php)
......它抛出了这个:
object(DOMText)#1221 (17) {
["data"]=> string(0) ""
["nodeName"]=> string(5) "#text"
["nodeValue"]=> string(11) "hello world"
["nodeType"]=> int(3)
["parentNode"]=> string(22) "(object value omitted)"
["childNodes"]=> NULL
["firstChild"]=> NULL
["lastChild"]=> NULL
["previousSibling"]=> NULL
["nextSibling"]=> NULL
["attributes"]=> NULL
["ownerDocument"]=> string(22) "(object value omitted)"
["namespaceURI"]=> NULL
["prefix"]=> string(0) ""
["localName"]=> NULL
["baseURI"]=> NULL
["textContent"]=> string(11) "hello world"
}
无论如何,谢谢你的帮助。真的:)
答案 0 :(得分:0)
我一直在成功使用domPDF,与常规的唯一区别在于$dompdf->loadHtml(...);
和$dompdf->render();
之间我用
$dompdf->setPaper('A4', 'portrait');
您可以尝试添加它 - 不确定它是否有所作为。
答案 1 :(得分:0)
我遇到了这个麻烦, 就我而言,我的应用程序可以在开发环境(Windows和Windows Server,Apache,PHP)中工作,但在生产中出现了问题(Ubuntu 18,nginx,php7.2-fpm)。
运行此命令时:php --ini
;我收到以下警告!
警告:模块“ dom”已在第0行的“未知”中加载警告: 模块“ mbstring”已在第0行的“未知”中加载警告: ........................警告:模块“ xxx”已加载 在第0行上未知
请记住,dompdf
使用php'dom'扩展等。因此,如果dompdf
中发生任何问题,那么dompdf
将无法正常工作。