首页 > 解决方案 > Laravel - 没有连接到端口 22 上的 FTP 存储服务器

问题描述

我正在使用 Laravel,我想通过 FTP 将图像存储到另一台服务器。我不确定我的连接是否正确。

配置是:

'ftp' => [
    'driver' => 'ftp',
    'host' => '11.11.11.11',
    'port' => 22,
    'username' => 'username',
    'password' => 'password',
    'root' => '/var/www'
],

为了测试它,我创建了一个带有句柄的工匠命令:

public function handle()
{

    $ftp = Storage::disk('ftp');
    $ftp->makeDirectory('test');

    dd($ftp);
}

当我执行这个命令时,什么也没有发生。就像我进入了一个无限循环。

如何检查我是否连接到 FTP 服务器?我测试了凭据,我能够连接 FileZilla。

标签: laravelftplaravel-storage

解决方案


端口 22 用于 SSH/SFTP,而不是 FTP。我猜你在 FileZilla 中使用 SFTP。当您尝试使用 FTP 协议连接到 Laravel 中的 SFTP 端口时。

如果是这种情况,请在 Laravel 中使用 SFTP:

'sftp' => [
    'driver' => 'sftp',
    'host' => '11.11.11.11',
    'username' => 'username',
    'password' => 'password',
    'root' => '/var/www'
],

(无需指定端口 22,因为这是 SFTP 默认的)


推荐阅读