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 中,您可以通过查找 User
或 Group
从 httpd.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
).
我正在尝试使用 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 中,您可以通过查找 User
或 Group
从 httpd.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
).