gpt4 book ai didi

php - 如何更改 OSX 上的 docker 安装卷的权限以与运行 Laravel 5.1 的 Nginx Web 服务器一起使用?

转载 作者:搜寻专家 更新时间:2023-10-31 21:27:51 25 4
gpt4 key购买 nike

我正在使用运行 Laravel 5.1 的 Docker 生成 PDF,所以我的问题是文件成功生成且没有错误并保存到已安装的卷中。当我尝试使用 Storage::disk('local')->get($filename); 拉回文件以显示它时出现问题。我明白了

ErrorException in Local.php line 187:
file_put_contents(/app/storage/app/savedfile.pdf): failed to open stream: Permission denied.

我还尝试从 docker 容器内部更改权限,并在已安装的卷上手动更改权限,但没有帮助。

这是我用来保存文件的代码

    $snappy = new Pdf('wkhtmltopdf');
$tmpFile = storage_path().'/app/savedfile.pdf';

$snappy->setOption('images', true);
$snappy->setOption('footer-right', '[page] OF [topage]');

$result = $snappy->generateFromHtml(
$view->render(),
$tmpFile
);

Storage::disk('local')->put('report.pdf', \File::get($tmpFile));

有谁知道我该如何解决这个问题?

最佳答案

Docker 用户与主机用户不同。您需要确保访问已安装卷的主机用户和容器用户都可以访问该卷的文件。

您可以通过多种方式实现这一点,例如:

  1. 使文件可读/可写
  2. 确保主机和容器的用户ID相同
  3. 写入文件后更改权限

进行更改后,您应该能够读取/写入 pdf 文件。

关于php - 如何更改 OSX 上的 docker 安装卷的权限以与运行 Laravel 5.1 的 Nginx Web 服务器一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33670966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com