簡體   English   中英

Laravel應用程序共享托管,存儲文件夾符號鏈接問題

[英]Laravel application shared hosting, storage folder symbolic Link issue

我已經在本地PC上創建了符號鏈接,在該PC上可以正常工作,但是我已經將其上載到共享主機,但在那里無法正常工作。 基本上我在存儲文件夾root/storage/public/images/

我想通過顯示它們

$path=asset('storage/images/'.$item->image);

所以問題出在這種方式的共享托管中

$path=asset('storage/images/'.$item->image);

從域目錄獲取而不是從父目錄獲取,因此無法在共享主機上創建符號鏈接,因此我應該怎么做才能從父目錄獲取圖像。 我是Laravel的初學者,可以幫助我解決這個問題。 謝謝

請使用存儲文件夾創建鏈接文件夾,該存儲文件夾將在項目文件庫中創建相同的文件夾。 有關更多信息,請參見使用PHP的符號鏈接

首先從公用文件夾刪除文件夾存儲,並在web.php中使用此代碼

Route::get('foo', function(){
    $targetFolder = $_SERVER['DOCUMENT_ROOT'].'/project_foder/laravel/storage/app/public';
    $linkFolder = $_SERVER['DOCUMENT_ROOT'].'/project_foder/public/storage';
    symlink($targetFolder, $linkFolder);
    return 'success';
});

要么

Route::get('foo', function(){
    Artisan::call('storage:link', []);
    return 'success';
})

我在這里得到了一個解決方案

首先,刪除public / storage {storage}文件夾,其次,將此代碼放在web.php文件的頂部

Artisan::call('storage:link');

此代碼手動運行php artisan storage:link命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM