【问题标题】:Laravel Subfolder directory issuesLaravel 子文件夹目录问题
【发布时间】:2020-06-24 14:59:24
【问题描述】:

我的 Laravel 项目在我的本地机器上运行良好,但在我的在线服务器上却不行。

在我的在线服务器上,我创建了一个名为 dev 的目录并在其中粘贴了整个 laravel 项目,所以现在访问路由的 url 是域名/dev/profile

但是在我的 public/storage/upload/image 中获取一个上传的图像给我一个错误,即找不到图像!!

感谢任何形式的帮助!

【问题讨论】:

  • 错误是什么?我认为权限问题?
  • 当我尝试显示上传的图片时,我得到了这个 http:domain-name/dev/public/storage/upload/image/5/imageName Not Found (404)
  • 检查指定路径是否存在图片?

标签: php laravel-5.3 laravel-5.4


【解决方案1】:

我认为问题可能出在符号链接上。使用 CLI 运行命令 php artisan storage:link

如果您的 c-panel 没有 CLI 访问权限,则可以以编程方式运行该命令。在您的routes/web.php 文件中添加以下代码:

Route::get('/sym-link', function () {
    Artisan::call('storage:link');
});

并访问一次YOUR-DOMAIN/sym-link

更多信息:https://laravel.com/docs/master/structure#the-storage-directory

【讨论】:

  • 感谢您的回复....您是否在您的任何项目中使用了诸如 tinymce 或 Ckeditor 之类的文本编辑器?
  • 欢迎您。如果可行,请接受答案,以便对其他人也有帮助。是的,我用过。我建议您为此创建一个单独的问题。
  • 实际上我没有使用你建议的答案我想出了不同的方法并且它现在可以工作
  • 有关 tinyMce 问题,请查看stackoverflow.com/questions/45367740/…
【解决方案2】:

如果您使用的是共享主机,请先检查链接路径使用

 readlink -f storage

如果路径不正确,则从公共中删除存储并使用以下命令创建新的符号链接:

ln -s ../storage/app/public storage

要确保已创建链接,请使用ls 并查看存储是否为红色。如果为红色,则链接创建成功。 :)

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 1970-01-01
    • 2022-11-23
    • 2018-04-03
    • 2014-07-18
    • 2013-08-20
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多