Laravel Как использовать другой сервер в качестве хранилища файлов - PullRequest
1 голос
/ 20 июня 2020

Я использую Laravel 7.6:

У меня есть два проекта Laravel на каждом сервере (сервер является обычным сервером. Ни AWS, ни Digital Ocean, только выделенный сервер).

Project1 находится на server1.

Project2 находится на server2.

Мой вопрос:

Как мне сделать CRUD из Project1 на server2?

Итак, в Project1 я хотел бы читать, загружать, удалять, редактировать файлы, которые находятся на server2. Это моя текущая конфигурация файловой системы.

  'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],

    ],

Могу ли я сделать и использовать что-то вроде этого?

           'public' => [
                'driver' => 'custom',
                'root' => storage_path('app/public'),
                'url' => 'my-another-server-url',
                'visibility' => 'public',
            ],

Я думаю, что это вполне возможно, если два проекта на одном сервере (с использованием локального драйвера).

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

Я думаю, что это пакет (https://github.com/thephpleague/flysystem) дает мне какое-то решение.

Следует ли мне делать API в проекте 2?

Может ли кто-нибудь помочь мне с инструкциями и рекомендациями пакетов?

Спасибо.

...