【问题标题】:Laravel Voyager image broken after uploading in serverLaravel Voyager 图像在服务器上传后损坏
【发布时间】:2019-05-06 14:38:55
【问题描述】:

Laravel 版本:5.5 航海者版本:1.0 PHP版本:7

我已经在 cPanel 中上传了我的 laravel 项目。以前的图片显示成功,但新添加的图片没有显示。

在上传到 cPanel 之前,最后 2 张图片已经在项目中。在 cPanel 中成功上传项目后,我尝试上传图片,但未显示哪个是第一个。

有人帮忙吗?

我尝试更改 config/filesystem.php

将路径从 storage_path() 更改为 public_path()。

'public' => [ 'driver' => 'local', 'root' => public_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],

但它不起作用。请帮帮我!

损坏的图片网址-http://example.com/storage/products/December2018/QIDyzoFg1aAf6NUGMJtZ.jpg

【问题讨论】:

    标签: php cpanel laravel-5.6 voyager


    【解决方案1】:

    我找到了解决方案!问题出在符号链接(存储符号链接)中。 在本地主机中,我们可以轻松地从 voyager adminpannel 或终端中创建符号链接 php artisan storage:link 在这种情况下,在共享主机中我们无法做到这一点。请参阅下面我所做的。

    1.登录cpannel

    2.进入项目文件夹,然后进入public->storage文件夹,然后将其重命名为storage old或somthing。

    3.返回 cpannel 主菜单并选择 cron 作业

    4.在常用设置-->选择*每5分钟一次

    5.在命令字段中添加这个 ln -s /home/cpanel_username/project_name/storage/app/public /home/cpanel_sername/project_name/public/storage

    (我的网站在子域中)示例-ln -s /home/your_cpannel_user name/public_html/subdomain_foldername/storage/app/public /home/cpanel_username/public_html/subdomain_foldername/public/storage

    语法-->ln -s target_path link_path

    6.在 cron 电子邮件中输入您的电子邮件并更新电子邮件(当工作完成后,电子邮件通知将进入您的收件箱检查垃圾邮件文件夹

    6.创建新的定时任务

    7. 等待几分钟,您几乎完成了。! 执行后删除cronjob

    8.log 并检查上传路径是否正常工作!

    【讨论】:

    • 有效!谢谢你:)
    【解决方案2】:

    假设你的 Laravel 项目“public”目录和“public_html”目录不同,请运行以下命令:

    php artisan storage:link 
    

    此命令将创建指向 Laravel 项目的“public”目录的符号链接,而不是在“public_html”中。接下来我们需要将“storage”链接移动到“public_html”目录,为此您可以直接移动。如果它不起作用,则进入“public”目录并根据您的 public_html 目录位置运行以下命令:

    mv storage /home/*yourHostinInfo*/domains/*domainName*/public_html
    

    路径可能会根据您的托管信息而有所不同。

    【讨论】:

      猜你喜欢
      • 2019-07-21
      • 2016-09-28
      • 1970-01-01
      • 2020-06-29
      • 2021-08-21
      • 1970-01-01
      • 2014-04-26
      • 2012-08-03
      • 2020-08-22
      相关资源
      最近更新 更多