[英]Laravel Voyager image broken after uploading in server
Laravel 版本:5.5 Voyager 版本: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
我找到了解決方案! 問題出在符號鏈接(存儲符號鏈接)中。 在本地主機中,我們可以輕松地從 voyager adminpannel 或終端php artisan storage:link
創建符號php artisan storage:link
在這種情況下,在共享托管中我們不能這樣做。請參閱下面我所做的。
1.登錄cpannel
2.轉到項目文件夾,然后轉到public->storage文件夾,然后將其重命名為storage old或somthing。
3.回到cpannel主菜單,選擇cron job
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 並檢查上傳路徑是否正常工作!
假設你的 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
根據您的托管信息,路徑可能會有所不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.