В / storage / logs нет существующего каталога, и он не может быть построен: Permission denied

У меня проблема с развертыванием Laravel на веб-сервере OVH. После сделал

composer update

php artisan cache:clear

php artisan route:clear

php artisan dump-autoload

У меня есть такой ответ:
There is no existing directory at /storage/logs and its not buildable: Permission denied
Я кладу все файлы на 777 chmod, но всегда получаю такой ответ.

просто в качестве примечания для всех, кто пробует это, и это не используется для команд ремесленника или композитора (мы все время от времени совершаем одну и ту же ошибку), это команда composer dump-autoload, а не artisan :) ура!

Nelson 10.04.2020 23:16

php artisan dump-autoload? вы можете иметь в виду 'композитор дамп-автозагрузка'

steve sonius 25.05.2020 02:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
74
2
99 513
20

Ответы 20

Пожалуйста, попробуйте следующие команды

php artisan route:clear

php artisan config:clear

php artisan cache:clear

Примечание: Если вы являетесь пользователем Homestead и VirtualBox, убедитесь, что ваш VirtualBox обновлен.

Помогло в этом нить на лараках

Эта последовательность (маршрут, конфигурация, затем кеш) сработала для меня!

Ihab Shoully 10.05.2020 04:00

Для последней команды: не удалось очистить кеш. Убедитесь, что у вас есть соответствующие разрешения.

Chanchal Raj 18.06.2020 15:53

Чанчал: Ну вот, stackoverflow.com/questions/52231248/… Поиск длился одну секунду.

frankfurt-laravel 18.06.2020 19:34

Это отлично работает ... в моем случае это тоже была конфигурация ... Но кто-нибудь понимает, в чем основная проблема? Это проблема в конфигурации? или ошибка в том, как построен кеш конфигурации (например, игнорирование .env или что-то в этом роде?) Кажется, что папки есть, имеют правильные разрешения и т.д., поэтому что-то кажется вонючим, я просто не могу указать на это ...

Canelo Digital 02.07.2020 21:48

Это помогло мне. Спасибо.

Roshimon 11.02.2021 14:27

Только Иисус знает, почему это связано с Redis error: cannot assign requested address , но теперь это исправлено.

insign 11.05.2021 07:34

иди к своему бродяге

затем беги

бродячий ssh

Конфигурация php artisan: кеш

Не могли бы вы подробнее рассказать о том, что это дает

PilouPili 09.09.2018 14:11

Сначала вам нужно запустить свой vagrant env, затем вы должны подключиться к его сценарию bash с помощью vagrant ssh, кеш конфигурации очистит кешированные файлы конфигурации, а затем перестроит их.

Farid shahidi 06.12.2020 09:25

Если вы используете усадьбу (бродягу) в Laravel, следуйте инструкциям, предоставленным @Farid shahidi

vagrant ssh
cd /home/vagrant/code <-- your file usually resides here; see your Homestead.yaml configuration
php artisan config:cache

Если вы используете vagrant / docker / etc, обязательно запустите php artisan config:cache с внутри машины.

Erik Donohoo 14.01.2020 00:28

Очистите кеш и конфигурацию, затем разверните на активном сервере.

Если вы уже загрузили на рабочий сервер, вам необходимо выполнить следующие действия:

  1. Удалить bootstrap/cache/config.php
  2. Удалите все файлы журналов в storage/logs.

Лучший ответ для виртуального хостинга ??

Ali Hassan 08.02.2020 23:57

Отлично. Работайте для меня на виртуальном хостинге.

widi83 20.06.2020 02:19

Я делаю это, и это избавляет от ошибки, указанной в вопросе здесь, но затем я получаю внутреннюю ошибку 500 вместо нее. Есть предположения?

hannebaumsaway 02.02.2021 05:26

Пожалуйста, выполните следующие команды:

php artisan route:clear
php artisan config:clear
php artisan cache:clear

Это сработало для меня, если ваш проект находится в /var/www/html/

sudo chmod -Rf 0777 /var/www/html/{project-name}/bootstrap/cache sudo chmod -Rf 0777 /var/www/html/{project-name}/storage

Убедитесь, что у вас есть папка storage/log, и добавьте в нее 777 permission.

Это, но также chmod 777 и папка для хранения. то есть chmod 777 storage && chmod 777 storage/*

H2ONOCK 31.07.2019 14:13

Вам не нужно добавлять какие-либо разрешения для файла хранилища.

  • Основная проблема здесь в скомпилированном файле, из-за чего laravel пытается показать ошибку.
  • По умолчанию в laravel файл хранилища не имеет разрешения на отображение в консоли (ошибка показано из файла error.log).
  • Итак, что вам нужно исправить, это исправить файл компиляции. что можно сделать с помощью этой единственной команды

Эта команда очистит весь ваш кеш

- Compiled views
- Application cache
- Route cache
- Configuration cache

Использовать это

php artisan optimize:clear

? Ты спасатель! У меня была глупая проблема с CORS, которую я решил с помощью команды.

Amirreza Nasiri 21.06.2019 19:56

Я рада, что это помогает. @AmirrezaNasiri Спасибо за ваш комментарий.

Vikas Rinvi 21.06.2019 20:01

Работает, даже если было сказано «Не удалось очистить кеш. Убедитесь, что у вас есть соответствующие разрешения». :-)

Alexander Taubenkorb 19.11.2019 10:06

Вам нужно запустить эту команду из терминала.

php artisan config:clear
php artisan config:cache

может кому-то помочь.

Я столкнулся с этой проблемой после переноса моего проекта с сервера разработки на рабочий сервер на сервере разработки у меня был диск D, но на производственном сервере у меня нет диска D.

после изменения пути в файле ниже. у меня это сработало.

бутстрап \ кеш \ config.php

проверьте путь в этом

После изменения локальной конфигурации я снова и снова получал одну и ту же ошибку, попробуй это, наверное поможет.

rm bootstrap/cache/config.php

а потом

php artisan cache:clear

в зависимости от вашего сценария перезагрузка файла автозагрузчика может решить вашу проблему, для этого использования:

composer dump-autoload

а иногда просто попробуйте:

composer install

это делают две команды, перечисленные выше.

Выполните следующую команду, если вы можете получить доступ к своему серверному терминалу

Путь php artisan: очистить && php artisan cache: очистить && php artisan config: clear && php artisan config: cache

Если вы находитесь на виртуальном хостинге и не можете получить доступ к терминалу, перейдите к файлу веб-маршрута в routes/web.php и создайте временную ссылку, например, как показано:

Route::get('reset', function (){
    Artisan::call('route:clear');
    Artisan::call('cache:clear');
    Artisan::call('config:clear');
    Artisan::call('config:cache');
});

Затем перейдите к http://your-domain/reset, чтобы выполнить команды. там после того, как вы теперь можете получить доступ к своему сайту как обычно

Для меня та же самая проблема возникала при попытке заархивировать каталог моего проекта и развернуть его на Elastic Beanstalk AWS. Без моего ведома Finder (в MacOS) по умолчанию скрывал папку .ebextensions.

Выполнив следующие команды в своем терминале, я смог правильно заархивировать эти папки, и теперь развернутый проект работает должным образом:

 defaults write com.apple.finder AppleShowAllFiles TRUE
 killall Finder

Удалите bootstrap / cache / config.php из развертывания laravel на сервере.

Эта однострочная команда решает мою проблему:

Конфигурация php artisan: кеш

У меня такая же проблема, я меняю разрешения для папок внутри папки хранилища.

chmod 777 <folder_name>

Я не уверен в этой безопасности. но это решает мою проблему.

Я меняю настройки файла на 755, у меня тоже работает.

Использование разрешения 777 - ДЕЙСТВИТЕЛЬНО плохое разрешение, и у него так много проблем с безопасностью, потому что оно дает разрешение RWX каждому!

Farbod Ahmadian 16.06.2020 21:41

@FarbodAhmadian, спасибо, я меняю права на 755, у меня тоже работает. Я редактирую свой ответ также после вашего комментария.

Buddhika 17.06.2020 04:20

попробуй это

  1. remove your "vendor" folder
  2. Run "composer install" or "composer install --ignore-platform-reqs" on your cmd or terminal
  3. php artisan config:cache
  4. php artisan config:clear
  5. php artisan cache:clear
  6. php artisan route:cache
  7. php artisan view:clear
  8. php artisan config:cache

если вы используете Linux:

  1. service apache2 restart (just in case)

если вы используете xammp:

  1. just restart your xammp

Вы пробовали использовать команду sudo? Иногда вам просто нужны права root для доступа к некоторым папкам, поскольку в сообщении об ошибке говорится: Permission denied is valid to use:

sudo php artisan <command>

Или даже:

sudo composer <command>

Очевидно, вам нужен root-доступ. Стрелка вверх, если у кого-то работает этот метод. Это сработало в моем случае с той же проблемой.

В CentOs просто смените владельца своего проекта:

chown -R apache:apache [Your Project Folder]

это оно.

Вы должны попробовать команду ремесленника таким образом

  1. php artisan cache: clear
    
  2. php artisan config:cache
    
  3. php artisan cache: clear
    

Спасибо! Это мне очень помогло!

Donny van V 01.12.2020 14:29

Другие вопросы по теме