我试图取消链接我网站的本地版本的文件夹。
我收到错误:
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的安装方式)为您删除文件 - 如果没有正确的权限,则无法执行此操作。