Laravel 5 show ErrorException file put contents не удалось открыть поток: нет такого файла или каталога (ОС Windows)

у меня есть проект на Laravel 5, и я работаю с ним в офисе и дома тоже. Он отлично работает, но недавно дома он перестал работать. Laravel покажите мне два ErrorException

file_put_contents(G:projectstorageframeworkviews/751d8a0fd8a7d4138c09ceb6a34bb377aa2d6265.php): failed to open stream: No such file or directory

и

file_put_contents(G:projectstorageframework/sessions/aIXycR4LIAUBVIqZu0T590paOMIpV8vfZGIroEp0): failed to open stream: No such file or directory.

Я ищу решение проблемы с Google и найти информацию о правильных правах. Все советы о Linux, но я работаю в Windows в офисе и дома тоже.

когда я пытаюсь очистить приложения кэш и посмотреть кэш, artisan talk to me -...очищенный. Но данные и представления кэша присутствуют в хранилище.

Как я могу исправить эту проблему?

спасибо заранее!

7 ответов


лучший способ решить эту проблему-перейти в каталог "laravel / bootstrap / cache" и удалить конфигурацию.PHP-файл. или вы можете переименовать его, как config.РНР.старый И ваша проблема будет исправлена. Счастливое кодирование: -)


после некоторых исследований я понимаю - у меня очень похожие, но разные корневые местоположения проекта и его кэширование в /bootstrap/cache. После запуска проекта очистки кэша. Спасибо всем авторам answear!


Это типа вопрос обычно возникает при переносе одного сервера на другой, одной папки в другую. Laravel сохраняет кэш и конфигурацию (имя файла), когда папка отличается, то эта проблема возникает.

решение выполните следующую команду:

php artisan config:cache

https://laravel.com/docs/5.6/configuration#configuration-caching


обычно вы должны запускать php artisan config:cache команда как часть рабочей процедуры развертывания. Я предлагаю вам

  1. удалить файл кэша конфигурации
  2. очистить кэш приложения
  3. создайте файл кэша для более быстрой загрузки конфигурации

для этого выполните следующие команды Artisan в командной строке

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

если у вас нет доступа к командной строке на вашем сервере, вы можете программно выполнять такие команды:

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('config:clear');
    $exitCode = Artisan::call('cache:clear');
    $exitCode = Artisan::call('config:cache');
    return 'DONE'; //Return anything
});

Я надеюсь, что это полезно.


возможно, есть проблема с файлом composer. Вы можете попробовать:

  • composer install устанавливает пакеты поставщика в соответствии с композитор.lock (или создает composer.блокировка если нет),
  • композитор обновление всегда восстанавливает композитора.блокировка и установка последние версии доступных пакетов на основе composer.в JSON

  • дамп-Автозагрузка композитор не будет загружать вещь. Он просто регенерирует. список всех классов, которые необходимо включить в проект (autoload_classmap.РНР.) Идеально, когда у вас есть новый класс внутри вашего проекта. В идеале вы выполняете composer dump-autoload-o, для более быстрая загрузка веб-страниц. Единственная причина, по которой это не по умолчанию, заключается в том, что требуется немного больше времени для генерации (но только немного заметно)

источник


причиной этой проблемы являются файлы кэша в localhost. В соответствии с этим я пробовал несколько вещей следующим образом, чтобы очистить кэш в моем проекте, но каждый раз я терпел неудачу.

  • попытался очистить команды cahe, изменив web.php файл (с кодами artisan)
  • пытался очистить кэш, подключив SSH (через PUTTY)
  • пытался разместить мой проект в поддомене внутри create a new общественные каталог

Я нашел решение для этой проблемы после каждого вышеуказанного шага не удалось, и это сработало для меня отлично. Я удалил кэш.в PHP на host_route/bootstrap / cache.

Я думаю, что этот ответ поможет вашу проблему.


у меня были похожие проблемы из-за .gitignore для /storage папка на первой машине, затем клонированный репозиторий на второй машине и laravel была ревизией для записи кэша сеансов

Итак, вручную создаем папку /storage/sessions может быть решение..