#php #laravel #lumen #flysystem
#php #laravel #lumen #flysystem
Вопрос:
Lumen 6.3.4 / PHP 7.3.9
Пытаюсь загрузить файл из данных формы. Получение этой ошибки: Disk [qr_uploads] does not have a configured driver.
bootstrap/app.php
$app->configure('filesystems');
$app->register(IlluminateFilesystemFilesystemServiceProvider::class);
config/filesystems.php
<?php
return [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'permissions' => [
'file' => [
'public' => 0664,
'private' => 0600,
],
'dir' => [
'public' => 0775,
'private' => 0700,
],
],
],
'qr_uploads' => [
'driver' => 'local',
'root' => storage_path('qr_uploads'),
'permissions' => [
'file' => [
'public' => 0664,
'private' => 0600,
],
'dir' => [
'public' => 0775,
'private' => 0700,
],
],
]
];
controller.php
$upFile = $request->file('uploading');
$storedPath = $upFile->store('e_'.$entityId, 'qr_uploads');
Получение вышеупомянутой ошибки. Каталог app/storage/qr_uploads
существует и доступен для записи. Есть идеи?
Ответ №1:
К сожалению, документы Laravel / Lumen слишком разборчивы в файле конфигурации. Правильный config/filesystems.php файл должен включать свойство «диски»:
<?php
return [
'disks' => [
'local' => [...]
]
Это одно. Другая вещь, связанная с Lumen (я не уверен насчет Laravel) — вы должны явно установить зависимость Flysystem!
composer require league/flysystem
Иногда я действительно хотел бы, чтобы документы Lumen / Laravel были несколько конкретны с такими деталями, как это. :/