无法通过 PHP 脚本从权限为 644 的服务器删除文件

无法通过 PHP 脚本从权限为 644 的服务器删除文件

我正在尝试删除通过 FTP 上传到服务器的 JPEG 文件。这些文件的上传和写入权限为644。上传目录的所有者和组为mikemike

我尝试将所有者和组更改为www-data,但似乎不起作用。

我正在尝试使用 PHP 脚本删除文件unlink()。这在生产服务器(托管服务)上有效,但在开发服务器(LAMP 设置)上无效。这让我相信它与我的开发服务器上的权限有关。

您认为这与 PHP 或 Apache 配置有关吗?

答案1

要在类 Unix 系统上删除文件,您需要对包含该文件的目录具有写权限,而不是文件本身。这是因为底层操作实际上是通过从目录中删除(取消链接)条目来修改目录。

为了执行您想要的操作,包含您想要删除的文件的目录必须可由 写入www-data

相关内容