Laravel Voyager 图像在服务器上传后损坏
Laravel Voyager image broken after uploading in server
Laravel版本:5.5
航海者版本:1.0
PHP版本:7
我已经在 cPanel 中上传了我的 laravel 项目。之前的图片显示成功,新添加的图片显示不出来
最后 2 张图片在上传到 cPanel 之前已经在项目中了。在 cPanel 中成功上传项目后,我尝试上传一张图片,但未显示哪个是第一张。
有人帮忙吗?
我尝试更改 config/filesystem。php
将路径从 storage_path() 更改为 public_path()。
'public' => [ 'driver' => 'local', 'root' => public_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],
但是没有用。请帮助我!
图像损坏url- http://example.com/storage/products/December2018/QIDyzoFg1aAf6NUGMJtZ.jpg
我找到了解决方案!问题出在 symlink(存储符号 link)中。
在本地主机中,我们可以轻松地从 voyager adminpannel 或在终端中创建 symlink
php artisan storage:link
在这种情况下,在共享主机中我们不能这样做。请参阅下面我所做的。
1.log 进入控制台
2.go 项目文件夹,然后转到 public->storage 文件夹,然后将其重命名为 storage old 之类的。
3.come 回到 cpannel 主菜单和 select cron 作业
4.in 常用设置 --> select *每 5 分钟一次
5.in 命令字段添加这个
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.type 您在 cron 电子邮件和更新电子邮件中的电子邮件(当工作完成时,电子邮件通知将到达您的收件箱 检查垃圾邮件文件夹)
6.create 新的定时任务
7.wait 几分钟就快完成了! 执行后删除cronjob
8.log 并检查上传路径是否正常工作!
假设你的Laravel项目"public"目录和"public_html"目录不同,请运行执行以下命令:
php artisan storage:link
此命令将创建 symlink 到 "public" 目录到您的 Laravel 项目,而不是在 "public_html" 中。接下来我们需要将"storage" link 移动到"public_html" 目录,为此您可以直接移动。如果它不起作用,则进入 "public" 目录并根据您的 public_html 目录位置 运行 以下命令:
mv storage /home/*yourHostinInfo*/domains/*domainName*/public_html
根据您的主机信息,路径可能会有所不同。
Laravel版本:5.5 航海者版本:1.0 PHP版本:7
我已经在 cPanel 中上传了我的 laravel 项目。之前的图片显示成功,新添加的图片显示不出来
最后 2 张图片在上传到 cPanel 之前已经在项目中了。在 cPanel 中成功上传项目后,我尝试上传一张图片,但未显示哪个是第一张。
有人帮忙吗?
我尝试更改 config/filesystem。php
将路径从 storage_path() 更改为 public_path()。
'public' => [ 'driver' => 'local', 'root' => public_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],
但是没有用。请帮助我!
图像损坏url- http://example.com/storage/products/December2018/QIDyzoFg1aAf6NUGMJtZ.jpg
我找到了解决方案!问题出在 symlink(存储符号 link)中。
在本地主机中,我们可以轻松地从 voyager adminpannel 或在终端中创建 symlink
php artisan storage:link
在这种情况下,在共享主机中我们不能这样做。请参阅下面我所做的。
1.log 进入控制台
2.go 项目文件夹,然后转到 public->storage 文件夹,然后将其重命名为 storage old 之类的。
3.come 回到 cpannel 主菜单和 select cron 作业
4.in 常用设置 --> select *每 5 分钟一次
5.in 命令字段添加这个
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.type 您在 cron 电子邮件和更新电子邮件中的电子邮件(当工作完成时,电子邮件通知将到达您的收件箱 检查垃圾邮件文件夹)
6.create 新的定时任务
7.wait 几分钟就快完成了! 执行后删除cronjob
8.log 并检查上传路径是否正常工作!
假设你的Laravel项目"public"目录和"public_html"目录不同,请运行执行以下命令:
php artisan storage:link
此命令将创建 symlink 到 "public" 目录到您的 Laravel 项目,而不是在 "public_html" 中。接下来我们需要将"storage" link 移动到"public_html" 目录,为此您可以直接移动。如果它不起作用,则进入 "public" 目录并根据您的 public_html 目录位置 运行 以下命令:
mv storage /home/*yourHostinInfo*/domains/*domainName*/public_html
根据您的主机信息,路径可能会有所不同。