Laravel показывал мне «Доступ запрещен для пользователя 'homestead' @ 'localhost' (с паролем: YES)». Одним из решений для этого была очистка кеша и сохраненный кеш конфигурации, и все это с помощью этих трех команд:
php artisan cache:clear
php artisan config:clear
php artisan config:cache
После php artisan cache:clear терминал говорит:
Failed to clear cache. Make sure you have the appropriate permissions. (с красным фоном)
Выполнение второго и третьего кода (php artisan config:clear и php artisan config:cache) отлично работает! Но все равно выдает ошибку при вводе первой строки. Кто-нибудь может объяснить почему?
Используйте sudo, если ни одно из предложенных решений вам не подходит. ;)
sudo -u www-data php artisan cache:clear





возможно, вам нужно chmod 777 -R хранилище. и я думаю, что он также может использовать www-data: www-data
Я действительно пытаюсь НЕ использовать 777 в своих проектах. Единственный раз, когда мне это нужно, - это когда я обращаюсь к общей папке через браузер, но поскольку я могу использовать свой проект, создав службу с localhost: 8000, я избегаю 777. И chown www-data не работает
не во всем твоем проекте. просто папка для хранения. и выбрал его www-data: www-data, а не user: www-data. просто попробуйте
Даже в папке для хранения есть много сообщений, в которых говорится не использовать 777 даже в одной папке, и у них тоже есть веская причина для мер безопасности ... И да, пользователь: www-data - это то, что я пробовал: /
а может можно 775 разрешение.
sudo chown -R www-data: www-data / путь / к / вашему / проекту / поставщику sudo chown -R www-data: www-data / путь / к / вашему / проекту / хранилищу
775 не работал, ни в хранилище, ни во всей папке проекта ... теперь я пробовал как www-data: www-data, так и user: www-data, но ничего не изменилось, даже используя -Рпапка проекта (что изменит права доступа ко всем папкам внутри )
Мартин, если вы редактируете свой ответ по мере его развития, обычно предпочтительнее отслеживать изменения в комментариях. Это упрощает просмотр текущего ответа и снижает вероятность его закрытия при прохождении через очереди на просмотр.
Вам может потребоваться очистить автозагрузчик с помощью
composer dump-autoload
Если это не сработает, вы можете вручную удалить следующие не отслеживаемые (обычно) файлы, чтобы очистить автозагрузчик и кеш, если они застряли:
/bootstrap/cache/packages.php
/bootstrap/cache/services.php
Я видел этот ответ (об удалении файлов пакетов и служб из папки начальной загрузки / кеша) по другой теме, но почему это должно быть разрешение? Плюс не было никаких изменений после их удаления или использования dump-autoload.
Если автозагрузчик забит кешированными настройками конфигурации, которые вам не нужны, например, соединениями с БД, вы можете попасть в место, где они не могут очиститься.
Если каталог data не существует в (storage/framework/cache/data), у вас будет эта ошибка.
Этот каталог data не существует по умолчанию при новой / новой установке.
Создание каталога data вручную на (storage/framework/cache) должно решить эту проблему.
Прямо на месте! Я закончил с твоим ответом
У меня storage/framework/cache/data, и я до сих пор получаю это сообщение.
@JayBienvenu Он в любом случае должен работать без каталога данных - только storage/framework/cache, этот путь должен уже существовать (по крайней мере, для более новых версий Laravel 5.7+) - проверьте, не переопределяете ли вы путь к хранилищу по умолчанию, а если нет, проверьте, достаточно ли в вашей папке кеша разрешения для веб-сервера / php; предполагая, что кеш хранилища файлов по умолчанию - проблема, вероятно, происходит в vendor/laravel/framework/src/Illuminate/Cache/FileStore.php - метод flush() - вы можете начать отладку оттуда :)
@JayBienvenu, попробуй этот stackoverflow.com/a/54442312/2140408
Просто добавьте папку с именем data в storage/framework/cache/ и попробуйте:
php artisan cache:clear
добавлена папка с данными в / application / storage / framework / cache, и ее работа. Спасибо!
Попробуйте удалить эти кешированные файлы в папке начальной загрузки:
/bootstrap/cache/packages.php
/bootstrap/cache/services.php
/bootstrap/cache/config.php
Затем запустите php artisan cache:clear
вы экономите мое время. :)
@SumonMahmud рад это слышать!
После того, как я получил много ответов благодаря вам, я смог это исправить. Спасибо
@NipunTharuksha никаких проблем!
Вы, сэр, заслуживаете MVP. Переместил мой проект в другой каталог, другое имя и, кстати, другая группа + другое имя репо на gitlab закончилось этой проблемой. Вы это решили! Благодарность !
Круто ... Работает, хороший вариант, когда вы работаете на cpanel и у вас нет прав на терминал.
Я пробовал все, моя ошибка была In Find.php line 287: Authentication failed. config: cache, cache: clear config: clear, мой кеш был пуст, ничего не работает. Вы меня спасаете, спасибо!
приятно это слышать, ребята!
Большой! РАБОТАЕТ РЕШЕНИЕ
Я запустил свой проект в контейнере докеров, а затем попытался получить к нему доступ через laragon, у меня была аналогичная проблема, это было из-за скомпилированных конфигураций в /bootstrap/cache/config.php.
Я исправил посадку, запустив php artisan config:clear, при этом файл /bootstrap/cache/config.php удаляется автоматически.
Вызов
php artisan config:cache
до
php artisan cache:clear
исправил проблему.
О, вот и все. Я переместил каталог проекта и запущенный кеш: clear пытался очистить кеш по старому пути, к которому у него не было доступа (на самом деле папка не существовала). Спасибо!
Это правильный ответ. Вы не можете очистить то, чего у вас нет.
Все еще не работает у меня
У меня была такая же проблема, но я заметил, что если вы запустите php artisan config: очистить, также по умолчанию запускает кеш: очистить сразу после него, поэтому при повторном запуске в нем нет кеша и возникает эта ошибка. вам нужно только запустить php artisan config: clear. Я не уверен, почему cache: clear не работает, когда он запускается отдельно, но запуск config: clear - хорошая альтернатива.
Вот полезный псевдоним, который я использую, чтобы очистить все в приложении.
laraclear='php artisan config:cache && php artisan config:clear && php artisan view:clear && php artisan route:clear && php artisan telescope:clear && php artisan debugbar:clear'
Удалите все ненужные команды, которые вы в нем не используете.
Разве это не решит проблему?
$php artisan optimize:clear
Compiled views cleared!
Application cache cleared!
Route cache cleared!
Configuration cache cleared!
Compiled services and packages files removed!
Первая попытка:
Проверьте, есть ли папка «data» внутри «storage / framework / cache /». Если нет, то создайте его вручную. (создайте новую папку с названием «данные»)
Вариант 2:
Если внутри «storage / framework / cache /» есть папка «data». Удалите ВСЕ существующие папки внутри.
Затем, наконец, запустите это:
php artisan cache:clear
Это должно решить эту проблему: «Не удалось очистить кеш. Убедитесь, что у вас есть соответствующие разрешения».
Спасибо! это работает для меня :)
рад слышать @KimTormes
Вы должны обновить разрешение, используя следующую команду - /
sudo chown -R www-data:www-data ./storage
Это решит вашу проблему, указанную ниже.
Была такая же проблема на моей бродячей / хуторской виртуальной машине. Все остальное в этой теме не помогло.
Решение было vagrant reload --provision
Если это не работает для вас, просто запустите команду php artisan cache: clear с помощью sudo.
например sudo php artisan cache:clear
Спасибо позже ~!
получил ту же ошибку. попробуйте дать разрешение chmod 777 в соответствующей папке
Об этом уже говорили, по идее 777 разрешение не давать
У меня сработало удаление и добавление папки ./storage/framework/cache/data.
Да, у меня это тоже сработало.
Предоставление разрешения 775 для каталога хранилища решило эту проблему для меня.
sudo chmod -R 775 storage
Я предполагаю, что у вас проблема с разрешением / правом собственности. Либо настройте разрешения правильно, либо рекурсивно удалите папку кеша вручную и создайте заново:
sudo rm -Rf storage/framework/cache
mkdir storage/framework/cache
Вызов следующих 4 команд должен исправить большинство проблем с разрешениями в laravel.
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
chmod -R 775 storage
chmod -R 775 bootstrap/cache
В Laravel 8 я решил свою проблему, сначала запустив composer dump-autoload, а затем использовал php artisan config:cache
Работает как шарм!
У меня это сработало, когда я изменил последовательность (маршрут: очистить, конфигурацию: очистить, затем кеш: очистить).