You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac下以_www用户运行RecursiveDirectoryIterator报Permission denied错误求助

解决思路
  • 修复上层目录执行权限
    你当前small_set目录本身的权限配置没有问题,但它的上级目录/Users/jmlockl2/Desktop权限为drwx------,仅允许属主jmlockl2访问,_www用户没有进入该目录的权限(Unix系统下目录的x权限代表可进入遍历)。执行以下命令给上层目录开放其他用户的进入权限即可:
chmod o+x /Users/jmlockl2 /Users/jmlockl2/Desktop

该配置不会让其他用户看到你桌面的其他文件,仅允许进入目录访问已明确开放权限的子目录,安全性较高。

  • 调整Mac系统隐私权限
    MacOS 10.15 Catalina及以上版本对桌面、文档、下载等用户目录有额外的隐私访问限制,即使POSIX权限配置正确,未授权的程序也无法访问。操作步骤:
    打开「系统设置」→「隐私与安全性」→「全磁盘访问」,将你使用的终端工具(Terminal/iTerm2)和PHP可执行文件添加到列表中,勾选授权后重启终端即可。

  • (更推荐)迁移文件到公共访问目录
    如果你不想修改个人目录的权限配置,可以将small_set目录移动到系统公共目录/Users/Shared/下,该目录默认允许所有用户访问,迁移后重新配置目录权限为_www所有即可,避免修改个人目录权限带来的安全风险。

  • 验证权限配置是否生效
    修改配置后可以先通过命令行直接验证_www用户的访问权限,不用跑PHP脚本排查问题:

sudo -u _www ls /Users/jmlockl2/Desktop/small_set

如果该命令可以正常输出目录内容,再执行PHP脚本即可正常运行。

内容的提问来源于stack exchange,提问作者Mark Locklear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:54:03