Laragon中Laravel提示“无权限”主因是storage和bootstrap/cache文件夹NTFS权限不足,需用管理员PowerShell执行icacls命令授予权限,并避免项目存放于系统保护路径或受控文件夹访问拦截。

在 Laragon 中安装 Laravel 时提示“无权限”,通常不是 Laravel 本身的问题,而是 Windows 系统对项目文件夹(尤其是 storage 和 bootstrap/cache)的 NTFS 权限限制,导致 PHP(由 Laragon 启动的 Apache/Nginx + PHP-FPM)无法写入缓存或日志。
确认是权限问题而非其他错误
先检查是否真为权限所致:
- 打开 Laragon 终端(右键菜单 → Terminal),进入项目根目录,运行:
php artisan config:clear && php artisan cache:clear—— 若报错含Permission denied或failed to open stream: Permission denied,基本可锁定为权限问题; - 查看
storage/logs/laravel.log,若最新日志条目显示写入失败,也指向权限; - 注意:Laragon 默认以当前 Windows 登录用户身份运行服务,不使用 SYSTEM 或 Administrator 账户,所以即使你是管理员,文件夹若被设为“仅所有者完全控制”,PHP 进程仍可能无权写入。
重置 storage 和 bootstrap/cache 文件夹权限
在项目根目录下,用管理员权限运行 PowerShell(右键 → “以管理员身份运行”),依次执行:
icacls "storage" /grant "%USERNAME%:(OI)(CI)F" /Ticacls "bootstrap\cache" /grant "%USERNAME%:(OI)(CI)F" /T
说明:
• (OI) = 对象继承,(CI) = 容器继承,F = 完全控制;
• /T 表示递归应用到子文件夹和文件;
• %USERNAME% 自动替换为你当前登录用户名,确保与 Laragon 运行身份一致。
避免未来权限中断的设置习惯
Laragon 创建新项目时默认不会自动设好 Laravel 所需权限,建议养成以下操作:
- 新建 Laravel 项目后,立即在终端中运行:
php artisan storage:link(如需软链接)+ 上述 icacls 命令; - 不要把项目放在系统保护路径(如
C:\Program Files、C:\Windows或 OneDrive 同步根目录),推荐放在C:\laragon\www\下的普通文件夹; - 关闭 Windows Defender 实时防护的“受控文件夹访问”功能(设置 → 隐私和安全 → Windows 安全中心 → 病毒和威胁防护 → 管理设置 → 受控文件夹访问),该功能有时会静默拦截 PHP 对
storage的写入。
补充:检查 Laragon 的 PHP 运行身份
极少情况下,Laragon 可能因配置异常以不同用户启动 PHP。可快速验证:
- 新建一个
whoami.php文件,内容为:<?php echo shell_exec('whoami'); ?>; - 通过 Laragon 访问该文件(如
http://test.test/whoami.php); - 输出应为
你的电脑名\你的用户名,若显示nt authority\system或其他账户,说明服务配置异常,需重置 Laragon 的服务模式(菜单 → Preferences → Services → 改为 “Run as current user”)。


















