by Devin Yang

建立於: 1年前 ( 更新: 1年前 )

今天來測測Laravel上使用sftp driver,如果您沒用過,快來看看我測試的結果
順便提一下,我們在Laravel的tinker環境中,進行Storage的功能很是方便的,不管是local或是遠端。
調整完設定後,記得離開再進入。

本篇文章使用的Laravel版本如下:

dlaravel@4e1f08f98079:~/html$ artisan -V
Laravel Framework 9.40.1

Laravel的Storage sftp driver支援可以安裝

composer require league/flysystem-sftp-v3 "^3.0"

然後我們就可以在config/filesystems.php,加入需要的driver,在這裡我補了一個 ccc的SFTP driver

    'disks' => [
     'ccc' => [
            'driver' => 'sftp',
            'host' => '192.168.99.2',
            'username' => 'dlaravel',
            'privateKey' => '/home/dlaravel/.ssh/id_ed25519',
            'port' => 2258,
            'root' => '/var/www/html/storage/app/public',
            'url'=>'https://www.ccc.tc/storage',
        ],
    ],

在這裡,我們可以自訂把root設定在public
/var/www/html是我的Laravel的專案目錄。
這樣當我們要抓public目錄下的檔案時,就可以直接給images的目錄了。
這個root依時際需求調整的,就我的情況,把root設定在public相當方便 。


在ccc disk的SFTP的driver中,我也設定了url,所以當我們使用Storage::url,
帶入Storage::disk("ccc")→files列出的檔案就能非常順利的抓出遠端圖檔的網址囉

備註,關於storage/app內的public資料夾,要開放給外部存取,記得要下指令建立軟連結。

php artisan storage:link

Tags: laravel storage sftp

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


laravel storage

我如何用Laravel的Storage的sftp driver同步檔案

SFTP的安裝及設定不在本篇討論範圍,如果您想了解,建議可以看另一篇https://www.ccc.tc/article/Laravel-SFTP-Driver-Configuration本篇我要用極快速的Sample Demo我如何用自建的artisan的指令同步遠端的資料到本地端。或許有人會問為何不用rsync,呀本篇就是要介紹用Storage的方式同步檔案。🤪直接看code吧,我在config/filesystems.php設定了一個sftp磁碟叫ccc。

laravel-storage,sftp

用Laravel的Storage SFTP Drvier進行遠端檔案上傳

為何我把網站的搞前後台分離,我的想法很簡單,就是靠一套後台管控所有前台的網站資料。假設前台的網站為單純的行銷網站,那不外乎主題內容,就是上上文章那種,沒有什麼特別複雜的邏輯。所以後台的資料庫設記好連不同的前台就好了,那還剩最後一個問題,我的後台HTML編輯器如何貼圖直接貼文到前台呢?Laravel的Storage SFT Driver就是很好的解藥。