Как сохранить файлы в другом месте за пределами файловой структуры Laravel 5.5 - PullRequest
0 голосов
/ 01 октября 2019

Я разрабатываю приложение, используя Laravel 5.5, и в настоящее время загружаю файлы в каталог public/storage с помощью команды symlink.

Приложение размещено на сервере, который является частью домена / сети моей организации.

Я хотел бы сохранить свои файлы на другом сервере, уже выделенном для хранения файлов, чтобы облегчить трафик на сервере приложений.

Я создал конфигурацию FTPв массиве disks config/filesystems.php, как я видел в других примерах, но при загрузке я получаю

Не удалось подключиться к хосту: xx.xx.xx.xx на порт 21.

Ниже я добавил конфигурацию 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
  • попытался добавить \\ передFTP_HOST IP-адрес
  • попытался установить пассив на true и false
  • изменил порт на 80
  • ОС сервера - Windows.

Любая помощь будет оценена. Спасибо.

Редактировать: мне удалось заставить работать драйвер ftp, так как изначально мне были сообщены неверные данные о подключении. С правильными деталями мне удалось сохранить файл в правильной папке на файловом сервере. Запрос на закрытие вопроса.

1 Ответ

0 голосов
/ 01 октября 2019

Документация 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',
        ],

    ],
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...