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

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:clearphp artisan config:cache)工作得很好!但是在输入第一行时,它仍然会给出错误。有人能解释一下吗?

169856 次浏览

也许你需要 chmod 777-R 存储文件夹。 我认为它还可以咀嚼 www-data: www-data

您可能需要清除自动装载机与 composer dump-autoload

如果这不起作用,你可以手动删除以下非跟踪(通常)文件,以清除自动加载程序和缓存,如果他们被堵塞:

/bootstrap/cache/packages.php

/bootstrap/cache/services.php

如果(storage/framework/cache/data)下的 data目录不存在,那么就会出现这个错误。

在新安装/新安装中,默认情况下不存在这个 data目录。

在(storage/framework/cache)手动创建 data目录应该可以解决这个问题。

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

php artisan cache:clear

尝试删除引导文件夹下的这些缓存文件:

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

然后运行 php artisan cache:clear

我在一个 Docker 容器中运行我的项目,然后尝试通过 laragon 访问它,我有类似的问题,这是由于在 /bootstrap/cache/config.php中编译配置。

我通过运行 php artisan config:clear修正了配合,这会自动删除 /bootstrap/cache/config.php文件。

呼叫

php artisan config:cache

之前

php artisan cache:clear

解决了问题。

我也遇到了同样的问题,但是注意到如果你运行 php artian config: clear 它也默认运行 cache: clear 紧跟在它之后,所以当你再次运行它的时候,它里面没有缓存,并且出现了这个错误。您只需要运行 php artian 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!

enter image description here

第一次尝试:

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

选择2:

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

最后,运行这个:

php artisan cache:clear

这将修复这个问题: “清除缓存失败。请确保您拥有适当的权限。”

您应使用以下步骤更新权限:

  1. 使用“ whoami”命令检查用户,然后让输出为“ ironman”
  2. 如果缓存目录中存在“ data”文件夹,请运行以下命令

sudo chown -R ironman:ironman storage/framework/cache/data/

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

在我的流浪者/家园虚拟机上也有同样的问题。这个帖子里的其他所有东西都没有帮助。

解决方案是 vagrant reload --provision

如果这些都不适合您,那么只需运行您的 php artian cache: clear 命令和 sudo。 例如 sudo php artisan cache:clear 以后再谢我吧 ~ !

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

删除和添加回 ./storage/framework/cache/data文件夹为我工作。

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

sudo chmod -R 775 storage

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

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

调用以下4个命令可以解决大多数幼虫的许可问题。

sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
chmod -R 775 storage
chmod -R 775 bootstrap/cache

基本上,chown -R $USER:www-data所做的就是将当前用户 $USER设置为所有者,将 www-data设置为组,chmod -R 775将7设置为用户,7设置为组,5设置为其他用户。

# PS: 您需要从 laravel 项目目录运行以上命令,否则,您需要提供完整路径,如/var/www/project _ name/Storage

在 Laravel8中,我首先运行 composer dump-autoload,然后使用 php artisan config:cache解决了这个问题

(MAC 用户)

有时,这意味着当前用户对存储/框架/缓存/数据/文件夹没有足够的权限

  1. sudo chmod -R ug+rwx storage/framework/cache/data/

那么

  1. php artisan cache:clear

希望有时对你有用。

我在霍姆斯特德做我的项目。

我的环境:

Ubuntu1 ~ 20.04 + Laravel 6.20.26

我的输出

enter image description here

显示真正的致命信息

编辑 src/Illuminate/Filesystem/Filesystem.php 598:14 原始码:

if (! $preserve) {
@rmdir($directory);
}

调试代码

if (! $preserve) {
rmdir($directory);
}

然后重新执行 php artisan cache:clear 输出发生了变化:

enter image description here

然后,我只解决 Text file busy

在我的例子中,问题是我在。但是没有安装 memcached。切换到文件驱动程序或安装 memcached 为我解决了这个问题。

删除下面的所有子文件夹:

storage/framework/cache/data/

视窗上的 Laravel 家园:

.env文件中,将 CACHE_DRIVERfile更改为 memcached

运行 php artisan cache:clear

确保在 .env文件上正确设置了 APP_URL。在 .env文件的 APP_URL变量中将 http改为 https为我解决了这个问题。

解决方案: 更新许可:

  1. 通过以下命令获取用户名: whoami

  2. 如果缓存目录中存在“ data”文件夹,则运行命令。

    Sudo chown-R YourUSERName: YourUSERName 存储/框架/缓存/数据/