【问题标题】:Codeigniter – The upload destination folder does not appear to be writableCodeigniter – 上传目标文件夹似乎不可写
【发布时间】:2013-10-26 08:04:16
【问题描述】:

我正在使用 CodeIgniter 的上传助手并在尝试上传图片时收到上述错误。我尝试上传到的文件夹的权限是 755。当我将其更改为 777 时,错误消失了,但 777 不是一种安全风险吗?

我在 Apache 上运行。有没有更好的方法让用户在不将文件夹权限设置为 777 的情况下上传文件?如何让 755 工作?

感谢您的帮助!

【问题讨论】:

    标签: php codeigniter upload permissions


    【解决方案1】:

    如果该文件夹用于由用户加载文件,则需要权限 777。

    您可以通过上传脚本验证加载了哪些文件。 您还可以使用 .htaccess 来允许或不允许从该目录执行某些文件。

    codeigniter 中的上传文档非常简单直观。您还可以在这里查看一些方法来验证上传的文件类型https://codeigniter.com/userguide3/libraries/file_uploading.html

    【讨论】:

      【解决方案2】:

      试试这个:

      sudo chmod 777 -R /path/to/write/folder

      【讨论】:

        【解决方案3】:

        在我的 NGINX + PHP-FPM 安装中,将 SElinux 参数从 enforcing 更改为 permissive,问题已解决:

        使用vi /etc/selinux/config 编辑和更改选项 使用sudo setenforce 0 应用选项而不重新启动 用sestatus检查状态。

        【讨论】:

          【解决方案4】:

          我不认为授予服务器 777 上的任何文件夹权限是好的。相反,我建议将 www-data 用户设置为所需文件夹的所有者并给予 755 权限,而不是授予 777 权限,如下所示

          chown -R www-data:www-data /var/www/html/uploads/
          

          755权限

          chmod 755 -R /var/www/html/uploads/
          

          【讨论】:

          • 爱你,一个星期以来我一直在与这个问题作斗争。
          • 这比让文件夹完全可写要好得多
          【解决方案5】:

          我知道这不是一个活跃的问题,对大多数人来说可能不是问题,但因为我遇到了这个问题,所以我想向其他可能看到这个问题的人澄清一下。

          您的上传目录不需要 777 权限。这实际上不是一个好主意。最后 7 表示它是可公开写的,在大多数情况下不需要。通常 755 应该就足够了

          问题很可能是该目录不属于该目录,而是运行 Apache 的用户,该用户通常是 www-data

          一步一步:

          检查目录的所有者(即)

          ls -l /path/to/upload/
          

          输出应该显示相似

          drwxr-xr-x  4 www-data www-data     4096 Oct 26 20:41 uploads
          

          如果不是,那么如果这是运行 Apache 的用户,则应更改为 www-data。检查 apache 在哪个用户下运行:

           ps aux | egrep '(apache|httpd)'
          

          这应该列出类似的内容:

           www-data   419  0.0  0.9 556292 156656 ?       S    18:46   0:00 /usr/sbin/apache2 -k start
          

          希望这会有所帮助!

          【讨论】:

            猜你喜欢
            • 2013-03-10
            • 2016-09-13
            • 2011-03-17
            • 1970-01-01
            • 2011-08-11
            • 2017-03-24
            • 2013-05-17
            • 2018-01-26
            • 2012-01-29
            相关资源
            最近更新 更多