Laravel版本:5.5 航海家版本:1.0 PHP版本:7
我已将laravel项目上传到cPanel中。以前的图像显示成功,但是新显示的图像没有显示。
在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
答案 0 :(得分:0)
我找到了解决方案!问题出现在符号链接(存储符号链接)中。
在本地主机中,我们可以轻松地从voyager adminpannel或终端中创建符号链接
php artisan storage:link
在这种情况下,在共享托管中我们无法做到这一点。请参阅下面的说明。
1。登录到面板
2。转到项目文件夹,然后转到public-> 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。创建新的cronjob
7。等几分钟,您差不多完成了! 执行后删除cronjob
8.log并检查上传路径是否正常!
答案 1 :(得分:0)
假设您的Laravel项目的“ public”目录和“ public_html”目录不同,请运行以下命令:
php artisan storage:link
此命令将创建符号链接到Laravel项目的“ public”目录,而不是在“ public_html”内部。接下来,我们需要将“存储”链接移动到“ public_html”目录,为此您可以直接移动。如果它不起作用,则进入“ public”目录,并根据您的public_html目录位置运行以下命令:
mv storage /home/*yourHostinInfo*/domains/*domainName*/public_html
根据您的托管信息,路径可能会有所不同。