laravel - 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。
解决方案
端口 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 默认的)
推荐阅读
- php - Wordpress+ACF - 通过转发器字段中的多选选项进行过滤
- search-engine - 将 TF-IDF 值存储在倒排索引中
- apache - 现有连接被远程主机强行关闭(net::ERR_HTTP2_PROTOCOL_ERROR)
- php - Nginx - 单一配置中的 Laravel 和 Reactjs
- android - 如果需要,使用多行以编程方式在 Layout 中添加多个自定义视图
- jsonata - jsonata 按“外部”属性过滤
- php - 无法从 Laravel ORM 关系中获取变量
- java - 在 Java 8 的注解中将方法参数作为参数
- java - 如何在 java 应用程序中使用 Jython 导入 python 模块(使用 Eclipse)?
- sql-server - RHEL 8 容器 MSSQL ODBC 驱动程序 e2fsprogs