![](/img/trans.png)
[英]Laravel application shared hosting, storage folder symbolic Link issue
[英]Change default “symbolic link” folder in laravel 5.4 (storage folder)
我正在使用laravel 5.4制作網站的新版本,並希望保持與舊網站相同的鏈接。
我的舊站點有這樣的鏈接圖像: domain.com/uploaded/cat.jpg
在laravel中,必須創建一個符號鏈接來顯示存儲的圖像,但是它使用名為storage “的默認文件夾將其保存,如下所示: domain.com/storage/cat.jpg
如何將默認名稱更改為“上載”?
我試圖用以下命令更改文件\\ config \\ filesystems.php中的 url :
之前
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
后
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/uploaded',
'visibility' => 'public',
],
和我的控制器
$request->file('image')->storeAs('public', 'example.jpg');
確保已創建符號鏈接。
根據您的配置,您可以運行以下命令:
ln -s storage/app/public public/uploaded
然后,您可以訪問文件:
Storage::disk('public')->url('example.jpg')
或者只是使用asset()
助手:
asset('uploaded/example.jpg');
使用任何php文件在您的服務器上執行此代碼以創建符號鏈接。 創建鏈接后,文件將可以公開訪問。
目標='/ home / cfrcoclm / public_html / agencies / storage / app / public'
快捷方式='/ home / cfrcoclm / public_html / agencies / uploaded'symlink(target,快捷方式)ec ho(“鏈接已創建!”)`
如果您沒有SSH訪問權限 ,則可以在下面編寫此單行腳本並在服務器上運行它-考慮正確的目錄路徑
symlink('/ home / domainname / laravelprojectname / storage / app / public','/ home / domainname / public_html / storage');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.