今天來測測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
No Comment
Post your comment