我正在使用Laravel 5.5
开发应用程序,当前正在使用symlink命令将文件上传到public/storage
目录中。
该应用程序托管在我组织的域/网络中的服务器上。
我想做的是将我的文件保存在已经专用于文件存储的另一台服务器上,以减轻应用程序服务器上的流量。
我在其他示例中看到的,在FTP
的disks
数组中创建了config/filesystems.php
配置,但是当执行上传时,我得到了
无法连接到主机:端口21上的xx.xx.xx.xx。
下面是我添加的FTP配置。
'ftp' => [
'driver' => 'ftp',
'host' => env('FTP_HOST'),
'username' => env('FTP_USERNAME'),
'password' => env('FTP_PASSWORD'),
'root' => '/file_storage',
'passive' => false,
'port' => 21,
],
在我的.env
文件中,这是我拥有的
FTP_HOST=10.13.1.66
FTP_USERNAME=agriculture\foo
FTP_PASSWORD=bar
调用FTP数组的控制器中的代码:
$file = $request->nid_file;
$doc = $individual->id . '_NIDScan_' . md5($file->getClientOriginalName()) . '.' . $file->extension();
Storage::disk('ftp')->put($doc, $file);
附加信息:
FTP_USERNAME
中添加和删除农业\\\
IP地址前面添加FTP_HOST
任何帮助将不胜感激。谢谢。
laravel文档可以为您提供帮助。
否则,您可以转到config/filesystems.php
并为本地和生产添加您自己的自定义存储路径
return [
'default' => 'custom',
'cloud' => 's3',
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path().'/app',
],
'custom' => [
'driver' => 'custom',
'root' => '../path/to/your/new/storage/folder',
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],
'rackspace' => [
'driver' => 'rackspace',
'username' => 'your-username',
'key' => 'your-key',
'container' => 'your-container',
'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
'region' => 'IAD',
],
],
];