docker 容器内的 dompdf:file_put_contents(x/x) 无法打开流:没有这样的文件或目录

dompdf inside docker container: file_put_contents(x/x) failed to open stream: No such file or directory

我是 运行 php 容器内的 php 应用程序,在打印文档时出现此错误:

file_put_contents(/var/www/html/vendor/dompdf/dompdf/lib/fonts/fonts\aefcc7f4826ca47c6196f471bf48339a.ufm.php): failed to open stream: No such file or directory

查看后发现路径确实不对,正确的路径是:

/var/www/html/vendor/dompdf/dompdf/lib/fonts/aefcc7f4826ca47c6196f471bf48339a.ufm.php

不知道为什么要添加额外的 /fonts !!
当我 运行 这个应用程序在 wamp 上时它工作正常,为什么在 docker 容器内不是这样?!

好的,我找到了解决方案,我会把它留在这里以防有人遇到这个问题。

问题出在我们需要更改 backslash \ to forward slash //lib/dompdf_font_family_cache.php 中,这已在最新版本的 dompdf 中修复(我正在使用 0.8.2 和最后一个版本是 0.8.5)

所以我们需要做的就是升级到最新版本 composer require dompdf/dompdf:^0.8.5