【发布时间】:2018-01-15 01:49:14
【问题描述】:
我在 laravel 中有一个项目,其中一个部分将图像上传到服务器。图像使用文件存储和 /storage/app/public 文件夹保存。 在本地工作正常,图像看起来不错,但是当我将项目上传到 heroku 时,看不到图像。 即使在 heroku 中运行命令“php artisan storage: link”
为什么我看不到图片?我不想为此使用 AWS S3。 我会错过什么?
谢谢你..
【问题讨论】:
-
损坏的图片链接到什么,它们应该链接到什么?
-
图片以 Storage :: url ('file1.jpg') 显示; (site.dev/file1.jpg) 因为图片存储在/storage/app/public,这样内容对用户是不可见的,只有在需要的时候才可见。但是由于某种原因在 heroku 中这不会发生,但在本地一切正常。
-
存储文件夹的权限是什么。这可能是问题所在。
-
“我不想为此使用 AWS S3。”好吧,你可能不得不这样做。如果不是 S3,其他一些文件存储服务。 Heroku's filesystem is ephemeral;下次您的 Dyno 重新启动时,您存储在那里的所有文件都将丢失。这种情况经常发生(至少每天一次)。
-
"即使在 heroku 中运行命令 "php artisan storage: link"" 这也不起作用,因为当您使用
heroku run时,您正在连接到一个 新的、单独的 实例 来自网络上运行的内容。
标签: php laravel heroku amazon-s3 file-storage