Laravel显示“无法清除缓存。请确保您具有适当的权限”

时间:2018-09-08 01:34:30

标签: laravel composer-php

Laravel向我显示“用户'homestead'@'localhost'的访问被拒绝(使用密码:是)”。解决此问题的一种方法是使用以下命令清除缓存和存储的配置缓存:

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

(如果我对他们的操作有误,请Plz纠正我)

在我的上一个项目中,这些命令可以正常工作,但是在php artisan cache:clear之后的新项目中,终端说

Failed to clear cache. Make sure you have the appropriate permissions.(红色背景)

我虽然有权限并且已将其与sudo一起使用,但并不幸运。我尝试了sudo chown -R user:www-data *folder of the project*,再也没有走运了。但是,我做了第二和第三个代码(php artisan config:clearphp artisan config:cache),它起作用了!但是在输入第一个代码时仍然给我错误。谁能解释为什么?

18 个答案:

答案 0 :(得分:32)

呼叫

php artisan config:cache 

之前

php artisan cache:clear

解决了该问题。

答案 1 :(得分:11)

只需在data中添加名为 storage/framework/cache/ 的文件夹,然后尝试:

php artisan cache:clear

答案 2 :(得分:9)

尝试删除这些缓存的文件:

/bootstrap/cache/packages.php /bootstrap/cache/services.php /bootstrap/cache/config.php.php

然后运行php artisan cache:clear

答案 3 :(得分:2)

您可能需要使用以下命令清除自动装带器 composer dump-autoload

如果这不起作用,您可以手动删除以下未跟踪的(通常)文件,以清除自动加载器并在卡住时进行缓存:

/bootstrap/cache/packages.php

/bootstrap/cache/services.php

答案 4 :(得分:2)

调用以下 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

答案 5 :(得分:1)

在 Laravel 8 中,我通过先运行 composer dump-autoload 然后使用 php artisan config:cache

解决了我的问题

答案 6 :(得分:1)

enter image description here

第一次尝试:

检查“存储/框架/缓存/”中是否有“数据”文件夹。 如果没有,请手动创建。 (创建一个名为“数据”的新文件夹)

选项2:

如果“存储/框架/缓存/”中有一个“数据”文件夹。 删除其中的所有现有文件夹。

然后运行以下命令:

php artisan cache:clear

这应该可以解决以下问题:“无法清除缓存。请确保您具有适当的权限。”

答案 7 :(得分:1)

我遇到了同样的问题,但是注意到如果您运行php artisan config:清除它,默认情况下也会在运行后立即运行cache:clear,因此当您再次运行它时,其中没有缓存,并显示该错误。您只需要运行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'

删除其中不使用的所有不需要的命令。

答案 8 :(得分:1)

我在docker容器中运行了项目,然后尝试通过laragon访问它,我遇到了类似的问题,这是由于/bootstrap/cache/config.php中的编译配置所致。

我通过运行php artisan config:clear来固定健身,这会自动删除/bootstrap/cache/config.php文件。

答案 9 :(得分:0)

您应使用以下命令更新权限-/

sudo chown -R www-data:www-data ./storage

这将解决您的以下问题enter image description here

答案 10 :(得分:0)

我的流浪汉/宅基VM上出现了相同的问题。此线程中的所有其他内容均无济于事。

解决方案是vagrant reload --provision

答案 11 :(得分:0)

删除并重新添加 ./storage/framework/cache/data 文件夹对我有用。

答案 12 :(得分:0)

给予存储目录775权限为我解决了这个问题。

sudo chmod -R 775 storage

答案 13 :(得分:0)

我猜您有权限/所有权问题。正确设置权限或手动递归删除缓存文件夹并重新创建它:

sudo rm -Rf storage/framework/cache
mkdir storage/framework/cache

答案 14 :(得分:-1)

这不能解决吗?

$php artisan optimize:clear
Compiled views cleared!
Application cache cleared!
Route cache cleared!
Configuration cache cleared!
Compiled services and packages files removed!

答案 15 :(得分:-1)

遇到同样的错误。尝试在相关文件夹中授予 chmod 777 权限

答案 16 :(得分:-2)

如果这些都不适合您,只需使用 sudo 运行您的 php artisan cache:clear 命令。 例如sudo php artisan cache:clear 以后谢谢我~!

答案 17 :(得分:-2)

也许您需要chmod 777 -R存储文件夹。 而且我认为它也可以添加www-data:www-data