Windows上的php unlink失败(权限被拒绝),重命名工作

时间:2017-06-15 13:48:47

标签: php windows iis permissions

我有iis8.5和php 7.1(fastcgi,phpinfo说)。我正在尝试取消链接(删除)文件夹。

unlink(realpath($folder));

并获得拒绝许可。如果我试试

exec(sprintf("rd /s /q %s", escapeshellarg($folder)));

它仍然不起作用,但我也没有理由。那么它的权限呢 - 好吧。

如果我在脚本中执行get_current_user(),则会返回IUSR

在IIS中,我将网站的应用程序池标识提供给在我正在尝试删除的文件夹的父级上具有FULL CONTROL的用户。 IUSR也完全控制同一个文件夹(显然从根到那里读取)。

不确定权限必须是什么才能使php具有删除功能。许多SO答案只是简单地说“你必须拥有正确的权限”或“确保你设置了正确的权限”。

我需要添加哪些权限以及在哪里才能使unlinkrmdir有效?

1 个答案:

答案 0 :(得分:-1)

https://msdn.microsoft.com/en-us/library/bb727008.aspx

"授予用户写入文件但不删除文件的权限并不会阻止用户删除文件的内容。用户仍然可以删除内容。"写入将让您清空文件但不删除它。

您需要"完全修改"或者"执行"删除文件。