InvalidArgumentException: невозможно записать в каталог | бегущий Ларавел

Это может быть легкой ошибкой, но я застрял в этом в течение 3 дней.
Я не очень опытный кодер. Я впервые использую Laravel. Я купил этот сценарий с руководством (по крайней мере, что-то вроде руководства), которому я следую, но все равно получаю InvalidArgumentException : Cannot write to directory "/var/www/blog/storage/app\public\products"когда я бегу php artisan db:seed заполнить страницу и базу данных фиктивными данными.

Я работаю на 18.04 со стеком LEMP и пользователем в sudo а также www-data групп. Я загрузил скрипт в /var/www через SMTP и распаковать и приступить к выполнению этих команд в порядке (как указано в руководстве):

sudo chown myuser:myuser /var/www/blog
cd /var/www/blog
composer install
sudo chown -R www-data:www-data /var/www/blog/public
sudo chmod 755 /var/www
sudo chmod -R 755 /var/www/blog/bootstrap/cache
sudo chmod -R 755 /var/www/blog/storage 
php artisan storage:link
sudo mkdir /var/www/blog/storage/public/products
sudo chmod -R 755 /var/www/blog/storage/public/products
sudo chgrp -R www-data /storage/public/products
sudo chmod -R ug+rwx /storage/public/products

А затем я продолжил заполнять.env информацией о базе данных, и все прошло отлично от конфигурации базы данных до миграции, а затем последний шаг - db:seed чтобы проверить, где я застрял. Несколько раз переустанавливал ОС, пробовал какие-то способы найти в гугле... вот и я.

2 ответа

Смотрите папку database \ seed, ищите файл, который отвечает за заполнение поддельными данными (ProductSeeder)

найдите строку $ faker-> image (storage_path ('app \ public \ products') и измените косую черту в обратном направлении. Например, $ faker-> image (storage_path ('app / public / products')

Попробуйте дать разрешение на запись группе www-data в папке products.

sudo chmod -R 775 /var/www/blog/storage/public/products
Другие вопросы по тегам