【问题标题】:yii2 unable to delete a file using unlinkyii2 无法使用 unlink 删除文件
【发布时间】:2016-07-25 04:07:12
【问题描述】:

我正在尝试使用 unlink 删除我当前拥有以下代码的文件:

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

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

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

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

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

【问题讨论】:

    标签: php yii2 delete-file


    【解决方案1】:

    将 web 目录及其文件的所有者更改为您的 web 服务器用户(例如,www-data 用于 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>
    

    所以有了这个配置,你可以在 Yii 项目的根目录上运行chown -R http:http web

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 2023-03-06
      • 2020-05-08
      • 2013-03-03
      • 2011-02-10
      • 1970-01-01
      相关资源
      最近更新 更多