Laravel出现file_put_contents缓存权限被拒绝错误 常用方案无效求解决
解决方案
根因说明
你遇到的是Laravel运行时缺少storage、bootstrap/cache目录写入权限的典型报错,你之前执行的缓存生成、删除bootstrap缓存等操作没有触及目录权限的核心问题,因此问题没有解决。
分步操作
- 步骤1:给核心目录配置写入权限
两种操作方式二选一即可:- 图形化操作:打开项目根目录
C:\xampp\htdocs\project\test\portal\,右键点击storage文件夹→「属性」→「安全」→「编辑」,选中Users用户组,勾选「完全控制」权限后点击应用确认,对bootstrap/cache文件夹执行相同操作。 - 命令行操作:以管理员身份启动CMD,执行以下命令:
icacls "C:\xampp\htdocs\project\test\portal\storage" /grant Users:F /t icacls "C:\xampp\htdocs\project\test\portal\bootstrap\cache" /grant Users:F /t - 图形化操作:打开项目根目录
- 步骤2:清理所有失效缓存
在项目根目录下依次执行以下命令:php artisan cache:clear php artisan config:clear php artisan view:clear php artisan route:clear - 步骤3:按需重新生成缓存
开发环境建议不要生成缓存避免修改配置/视图不生效,生产环境可以执行以下命令:php artisan config:cache php artisan view:cache - 步骤4:异常兜底排查
如果执行完上述操作仍报错,先确认storage/framework/cache目录完整存在,不存在的话手动新建对应层级目录;再检查C盘剩余空间是否充足,磁盘满也会触发写入失败。也可以临时修改.env文件中CACHE_DRIVER的值为array测试服务是否能正常启动,排除cache.php配置错误的问题。
内容的提问来源于stack exchange,提问作者Kick B
相关产品推荐
相关产品推荐

