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,sftp

用Laravel的Storage SFTP Drvier进行远程文件上传

为何我把网站的搞前后台分离,我的想法很简单,就是靠一套后台管控所有前台的网站数据。假设前台的网站为单纯的行销网站,那不外乎主题内容,就是上上文章那种,没有什么特别复杂的逻辑。所以后台的数据库设记好连不同的前台就好了,那还剩最后一个问题,我的后台HTML编辑器如何贴图直接贴文到前台呢?Laravel的Storage SFT Driver就是很好的解药。

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。