Laravel Valet权限问题:升级OSX后无法访问项目目录
解决OSX Monterey 12.7升级后Laravel Valet权限错误问题
问题核心
升级系统后出现的opendir(...): Operation not permitted错误,本质是系统级权限限制,而非项目文件的读写权限问题——OSX升级可能重置了终端、PHP等工具的全盘访问权限,导致Valet无法访问项目目录。
分步解决方案
给终端授予全盘访问权限
- 打开「系统偏好设置」→「安全性与隐私」→「隐私」标签页
- 找到「全盘访问」选项,点击左下角锁图标解锁
- 把你使用的终端(Terminal/iTerm)添加到列表并勾选,重启终端生效
给Valet依赖的PHP授予全盘访问权限
- 在终端执行
which php,获取PHP可执行文件路径(比如/usr/local/bin/php) - 回到「全盘访问」设置,点击「+」按钮,找到上述PHP路径并添加勾选
- 在终端执行
重置Valet服务
- 停止Valet服务:
valet stop - 重新安装Valet核心组件:
valet install - 进入项目目录重新链接:
cd /Users/apple/Desktop/programs/ideas && valet link
- 停止Valet服务:
验证DNS服务状态
- 检查dnsmasq运行状态:
brew services list - 如果dnsmasq未启动,执行
brew services start dnsmasq
- 检查dnsmasq运行状态:
关键说明
不要用chmod -r 777处理这类问题——这不仅不安全,而且完全无法解决系统级的权限限制。OSX的隐私保护机制会阻止没有授权的程序访问用户目录,升级系统后这类权限授权经常会被重置。
内容的提问来源于stack exchange,提问作者Hamisu Kimson
相关产品推荐
相关产品推荐

