【问题标题】:fopen(/vendor/dompdf/dompdf/lib/fonts/glyphicons-halflings-normal_c47afe5539ba1b2094563d54dce2def7.ufm): failed to open stream: Permission deniedfopen(/vendor/dompdf/dompdf/lib/fonts/glyphicons-halflings-normal_c47afe5539ba1b2094563d54dce2def7.ufm):无法打开流:权限被拒绝
【发布时间】:2021-10-11 01:18:09
【问题描述】:

使用自定义字体生成我的 PDF 并尝试像这样流式传输时:

$pdf = PDF::loadView( '/pdfs/invoice',$data); return $pdf->stream();

本地环境一切正常。我也可以生成pdf。

生产环境我收到标题上写的错误。

我已将我的字体文件保存在 storage/fonts 中,并且我已将“storage/fonts”添加到 deploy.php 中的 writable_dirs。

我无法为供应商文件中的每个版本设置权限,而且我不明白为什么要在此处处理字体缓存。它应该在我的存储/字体中完成,因为在 config/dompdf.php 那里。

【问题讨论】:

  • 确保vendor 目录和所有子文件夹在服务器上具有正确的权限。
  • 修改权限后生效。但我无法为供应商文件中的每个版本设置权限
  • 不确定你在说什么。你安装软件包对吗?如果权限以某种方式不正确,那么您在安装它们时可能做错了什么。例如以 root 身份运行 composer install 类似的东西。谁拥有您无法阅读的文件夹/文件?
  • 那么解决方案是什么?

标签: php laravel dompdf


【解决方案1】:

更改供应商权限

sudo chown -R www-data:www-data website/vender/

【讨论】:

  • 很好的解决方案,为我工作
猜你喜欢
  • 2016-05-01
  • 2015-02-01
  • 1970-01-01
  • 2019-05-02
  • 2016-02-16
  • 1970-01-01
  • 2018-07-23
  • 2013-03-21
  • 2016-06-13
相关资源
最近更新 更多