Laravel Valet报错:无法打开流(操作不被允许)求助
Warning: require(/Users/MY_USER_NAME/Documents/projects/example-app/public/index.php): Failed to open stream: Operation not permitted in /Users/MY_USER_NAME/.composer/vendor/laravel/valet/server.php on line 110 Fatal error: Uncaught Error: Failed opening required '/Users/MY_USER_NAME/Documents/projects/example-app/public/index.php' (include_path='.:/opt/homebrew/Cellar/php/8.3.1/share/php/pear') in /Users/MY_USER_NAME/.composer/vendor/laravel/valet/server.php:110 Stack trace: #0 {main} thrown in /Users/MY_USER_NAME/.composer/vendor/laravel/valet/server.php on line 110
已尝试重新安装Brew、Composer和Valet,问题仍未解决。
解决方法
1. 修复项目目录权限
执行命令调整目录和文件的所有权与权限:
chown -R $(whoami):staff /Users/MY_USER_NAME/Documents/projects/example-app chmod -R 755 /Users/MY_USER_NAME/Documents/projects/example-app
2. 检查Mac系统隐私权限
Mac的隐私设置可能限制PHP/Valet访问Documents文件夹:
- 打开「系统设置」→「隐私与安全性」→「文件与文件夹」
- 找到PHP(或Valet关联的进程),勾选「Documents」选项,保存后重启Valet
3. 重置Valet配置
valet stop valet uninstall valet install valet restart
4. 检查系统完整性保护(SIP)
执行命令查看SIP状态:
sudo csrutil status
若SIP开启且确实影响访问,可临时关闭(操作前备份重要数据):
- 重启Mac,按住
Command+R进入恢复模式 - 打开「终端」,执行
sudo csrutil disable - 重启系统后测试问题是否解决
- 问题修复后,建议重新开启SIP:重复步骤1,执行
sudo csrutil enable
内容的提问来源于stack exchange,提问作者Asmit Nepali
相关产品推荐
相关产品推荐

