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
我是 运行 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