Php DOMXPath::query():呈现时的表达式无效

Php DOMXPath::query():呈现时的表达式无效,php,dompdf,domxpath,Php,Dompdf,Domxpath,我刚刚开始使用(ex-MPDF user),它在我的开发环境中工作,但当我将它放在服务器上时,它会随机给我以下错误: Type: ErrorException; Message: DOMXPath::query(): Invalid expression; File: /public_html/system/storage/vendor/dompdf/dompdf/src/Css/Stylesheet.php; Line: 1034; 问题是 $nodes=@$xp->query($query

我刚刚开始使用(ex-MPDF user),它在我的开发环境中工作,但当我将它放在服务器上时,它会随机给我以下错误:

Type: ErrorException;
Message: DOMXPath::query(): Invalid expression;
File: /public_html/system/storage/vendor/dompdf/dompdf/src/Css/Stylesheet.php;
Line: 1034;
问题是

$nodes=@$xp->query($query[“query”]);
有一个问题,我在第一篇文章中尝试了使用该代码进行调试,但没有成功

我有所有必需的库,我正在运行PHP7.3.23,版本为0.8.6的dompdf

奇怪的是,如果我使用,我不会显示任何错误,但是如果我不使用,上面的错误就会出现

我在dompdf文档中找不到如何调试,因此非常感谢您的帮助:)

我放进去渲染的代码可以查看,我用来渲染它的代码如下


选项=新选项();
$dompdfOptions->set('isRemoteEnabled',TRUE);
$dompdf=新的dompdf($dompdfOptions);
$context=stream\u context\u create([
“ssl”=>[
“验证对等方”=>FALSE,
'verify_peer_name'=>FALSE,
“允许自签名”=>TRUE
]
]);
$dompdf->setHttpContext($context);
$dompdf->loadHtml($compiledContent);
$dompdf->setPaper('A4','肖像');
$dompdf->render();
$dompdf->stream('po-000013',数组('Attachment'=>0));

引发错误的原因是,Dompdf在解析样式表时生成了无效的XPath表达式。XPath查询在代码中以
@
错误控制处理程序作为前缀,以便Dompdf可以继续处理这些类型的错误。即使错误报告为0(这就是
@
抑制错误的方式),您的正常错误处理程序仍很可能引发错误。另一方面,filp/whoops必须遵守错误报告级别

然而,潜在的问题似乎是解析谷歌字体URL的问题。我发现,如果从Google字体样式表引用中删除分号,Dompdf不会遇到任何解析错误

因此,与此相反:

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');
使用以下命令:

@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@700&display=swap");
裁判