不允许的操作 - 在本地计算机上取消链接


Operation not permitted - unlink on local machine

我试图取消链接我网站的本地版本的文件夹。

我收到错误:

operation not permitted

任何想法如何取消链接以在本地计算机上工作?我使用MAMP。

请参阅文档:

取消链接 — 删除文件

另请参阅:rmdir() - 删除目录

您有一个目录。您需要使用rmdir,而不是unlink

这意味着不允许脚本删除文件夹。这可能有多种原因 - 最有可能的原因是您尝试unlink()文件夹而不是使用rmdir()删除它。

以下是unlink(2)手册页中"不允许操作"(EPERM) 的可能原因:

EPERM 系统不允许取消目录链接,或者取消目录链接需要调用进程的权限 没有。 (这是 POSIX 规定的错误返回;如前所述 上面,Linux 为这种情况返回 EISDIR。

EPERM (仅限Linux) 文件系统不允许取消文件链接。

EPERM或EACCES 包含路径名的目录设置了粘滞位 (S_ISVTX),并且进程的有效 UID 既不是 UID 要删除的文件或包含该文件的目录的文件, 并且进程没有特权(Linux:没有CAP_FOWNER功能)。

这是一个

权限问题。

尝试授予您想要的文件取消链接权限,例如 CHMOD 666。

您可能自己创建了该文件,并希望PHP(另一个用户然后是您自己,可能是Apache或www-data,具体取决于MAMP的安装方式)为您删除文件 - 如果没有正确的权限,则无法执行此操作。