我试图取消链接我网站本地版本上的文件夹。
我得到错误:
operation not permitted
有什么想法可以取消链接以在本地计算机上工作吗?我正在使用 MAMP。
这意味着不允许脚本删除文件夹。这可能有多种原因 - 最可能的原因是您正在尝试unlink()
使用文件夹而不是使用rmdir()
来删除它。
以下是手册页中“不允许操作”(EPERM)的可能原因unlink(2)
:
EPERM 系统不允许取消链接目录,或者取消链接目录需要调用进程没有的权限。(这是 POSIX 规定的错误返回
;如上所述,Linux 针对这种情况返回 EISDIR。)
EPERM(仅限 Linux) 文件系统不允许取消链接文件。EPERM 或 EACCES 包含路径名的目录设置了粘性位 (S_ISVTX) 并且进程的有效 UID 既不是要删除的文件的 UID 也不是包含它的目录的 UID,并且该进程没有特权
(Linux:没有CAP_FOWNER 能力)。
这是一个权限问题。
尝试授予您想要取消链接权限的文件,例如 CHMOD 666。
您可能自己创建了文件并希望 PHP(然后是您自己的另一个用户,可能是 Apache 或 www-data,具体取决于 MAMP 的安装方式)为您删除文件 - 如果没有正确的权限,这是无法完成的。