Ответ 1
После некоторых исследований я понимаю - у меня очень похожие, но разные корневые каталоги проекта и он кешируется в /bootstrap/cache
. После очистки кэша начался проект.
У меня есть проект на Laravel 5, и я работаю с ним в офисе и дома тоже. Работает нормально, но недавно дома перестал работать. Laravel покажи мне два ErrorException
file_put_contents(G:\project\storage\framework\views/751d8a0fd8a7d4138c09ceb6a34bb377aa2d6265.php):
failed to open stream: No such file or directory
а также
file_put_contents(G:\project\storage\framework/sessions/aIXycR4LIAUBVIqZu0T590paOMIpV8vfZGIroEp0):
failed to open stream: No such file or directory
Я ищу решение проблемы с Google и нахожу информацию о правильных правах. Все советы касаются Linux, но я работаю в Windows в офисе и дома тоже.
Когда я пытаюсь очистить кэш приложения и просмотреть кеш, ремесленник говорит со мной -... очищается. Но данные кеша и представления присутствуют в хранилище.
Как я могу исправить эту проблему?
Заранее спасибо!
После некоторых исследований я понимаю - у меня очень похожие, но разные корневые каталоги проекта и он кешируется в /bootstrap/cache
. После очистки кэша начался проект.
Лучший способ решить эту проблему - перейти в каталог "laravel/bootstrap/cache" и удалить файл config.php. или вы можете переименовать его так же, как config.php.old. И ваша проблема будет исправлена. Счастливое кодирование :-)
Обычно вы должны запускать команду php artisan config:cache
как часть вашей производственной процедуры развертывания. я предлагаю тебе
Для этого выполните следующие команды Artisan в командной строке
php artisan config:clear
php artisan cache:clear
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
});
А затем вызовите маршрут clear-cache
из вашего браузера.
Я надеюсь, что это полезно.
Этот тип проблемы обычно возникает при переносе одного сервера на другой, из одной папки в другую. Laravel сохраняет кэш и конфигурацию (имя файла), когда папка отличается, тогда возникает эта проблема.
Решение Запустите следующую команду:
php artisan config:cache
https://laravel.com/docs/5.6/configuration#configuration-caching
На самом деле я столкнулся с этой проблемой, когда я переместил свой проект с сервера на локальный.
в
хранение/рамки
четыре основные папки требуются кеш, сессии, тестирование, просмотры
В моем случае сеансы отсутствовали, возможно, в gitignore.
Поэтому я вручную создал папку сеанса и обновил браузер, и он работал.
Так что любая пропавшая папка, если мы удалим эту проблему, может быть решена.
В случае общего хостинга, когда у вас нет доступа к командной строке, просто перейдите в папку laravel/bootstrap/cache и удалите (или переименуйте) config.php, и все готово!
Это глупая ошибка, и другой ответ по сравнению с другими, но я добавлю его, потому что это случилось со мной.
Если вы используете WSL (linux bash для windows) для управления вашим приложением laravel, при этом для запуска сервера используется ваш windows apache, то при выполнении любых команд кэширования в wsl будет храниться путь linux, а не путь windows к сеансам и другим папкам.,
Просто запустите команды очистки кэша в PowerShell, а не в WSL.
$ php artisan optimize
Мне было достаточно.
Попробуйте с этими командами, которые были полезны с этими ошибками
путь\Проект\хранение\рамки\вид...
php artisan view:clear
путь\Проект\хранение\рамочная/сессия...
php artisan config:cache
Возможно, есть проблема с вашим файлом-композитором. Вы можете попробовать:
композитор обновляет всегда регенерирует composer.lock и устанавливает последние версии доступных пакетов на основе composer.json
композитор dump-autoload не загрузит вещь. Он просто восстанавливает список всех классов, которые должны быть включены в проект (autoload_classmap.php). Идеально подходит, когда у вас есть новый класс внутри вашего проекта. В идеале вы выполняете компоновку dump-autoload -o для более быстрой загрузки ваших веб-страниц. Единственная причина, по которой он не является дефолтом, заключается в том, что для генерации требуется немного больше времени (но это лишь незначительно заметно)
Причиной этой проблемы являются файлы кеша в localhost. В соответствии с этим я пробовал несколько вещей следующим образом, чтобы очистить кеш от моего проекта, но каждый раз, когда я терпел неудачу.
Поэтому я нашел решение этой проблемы после того, как все вышеперечисленные шаги завершились неудачно, и это сработало для меня отлично. Я удалил файл cache.php в каталоге host_route/bootstrap/cache.
Я думаю, что этот ответ поможет вашей проблеме.
В моем случае это было не то, что можно исправить с помощью команд php artisan. Проблема заключалась в разрешениях для папки /storage. Ошибка не прояснила это.
У меня были аналогичные проблемы из-за.gitignore для папки /storage
на первой машине, затем клонированный репозиторий на второй машине и laravel был ревизией для записи кэша сессий
Таким образом, создание папки /storage/sessions
вручную может быть решением.