【发布时间】:2020-02-04 08:35:09
【问题描述】:
我有一个应用程序使用两个不同的 Laravel 应用程序与同一个数据库通信。 App 1 称为 BUILDER,App 2 称为 VIEWER。在生产中,我使用 S3 存储在应用程序中提交的文件。对于本地开发,我使用 BUILDER 中的 storage/app/public 文件夹。
本地开发设置是 BUILDER 在 localhost:8000 上运行,VIEWER 在 locahost:8001 上运行
现在我的问题来了。在生产中,两个应用程序都使用相同的 S3 存储桶进行存储。所以不知何故,我需要为本地开发进行类似的设置。
BUILDER 工作正常,从 storage/app/public 文件夹上传和读取其文件,其中 FILESYSTEM_DRIVER=public in .env
查看器也可以正常读取这些文件,在我在配置中添加新磁盘后创建正确的 URL(在 .env 中将 BUILDER_URL 设置为 localhost:8000,这是 BUILDER 的 URL)
'builder_public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('BUILDER_URL') . '/storage',
'visibility' => 'public',
],
但是...我需要以某种方式也能够从 VIEWER 应用程序上传文件,这些文件最终应该与 BUILDER 位于同一存储文件夹中。
所以在我的 VIEWER 应用程序中,我希望我的 builder_public 磁盘是这样的:
'builder_public' => [
'driver' => 'local',
'root' => builder_storage_path('app/public'), // here
'url' => env('BUILDER_URL') . '/storage',
'visibility' => 'public',
],
有什么方法可以在两个独立的 Laravel 应用程序之间共享 storage/app 文件夹吗?
【问题讨论】:
标签: php laravel laravel-5 storage