yii2 无法使用取消链接删除文件

yii2 unable to delete a file using unlink

我正在尝试使用 unlink 删除一个文件我目前有以下代码:

unlink(Yii::getAlias('@webroot') . $userprofile->avatar);

路径是正确的,因为我在视图中使用 echo 进行检查,它指向我希望删除的正确文件,但是我收到以下错误:

unlink(/Applications/MAMP/htdocs/advanced/Final Prototype): Operation not permitted

就不是所有者而言,这可能是权限问题吗?如果是这样,我该如何检查,我是否需要对文件或某些目录执行 chmod?

注意:在 Mac OS X 上工作并使用 MAMP

将 Web 目录及其文件的所有者更改为您的 Web 服务器用户(例如 www-data for apache)。

在 apache 中,您可以通过查找 UserGrouphttpd.conf 中找到 *inx 系统上的用户和组。例如我在 arch linux 上的 httpd.conf 文件是:

<IfModule unixd_module>
 #
 # If you wish httpd to run as a different user or group, you must run
 # httpd as root initially and it will switch.  
 #
 # User/Group: The name (or #number) of the user/group to run httpd as.
 # It is usually good practice to create a dedicated user and group for
 # running httpd, as with most system services.
 #
 User http
 Group http  
</IfModule>

因此,使用此配置,您可以 运行 chown -R http:http web Yii 项目的根目录。

如果问题持续存在,您还需要更改 web 文件夹的权限,以便对用户和组具有写入规则(chmod -R 755 web 可能是对此的临时解决方案。您必须将文件移动到上传文件夹并将其权限更改为 755).