即使具有(似乎是)正确的文件权限,上载目标文件夹似乎也不可写

时间:2016-11-10 03:42:22

标签: php linux codeigniter file-permissions centos7

我已经在这个论坛上查了很多类似的问题,但似乎没有解决我的问题。

我将在本论坛的最后一些问题页面的底部列出,但请让我先说明这个问题。

我正在使用codeigniter v 2.x. PHP 5.5.32 MariaDB 5.5.44 CentOS 7.2.1511

以下是我的应用 vits 的位置。

[root@VITSServer html]# pwd
/var/www/html
[root@VITSServer html]# ls -al
total 16
drwxrwxr-x.  6 apache apache   92 Nov  9 17:55 .
drwxr-xr-x.  4 root   root     31 Nov 20  2015 ..
-rwxr--r--.  1 apache apache 1150 Oct 28  2015 favicon.ico
-rwxrwxrwx.  1 apache apache   20 Oct 12  2015 info.php
drwxrwxr-x. 11 apache apache 4096 Oct 27  2015 laravel5
drwxr-xr-x.  2 apache apache   22 Oct 14  2015 test
drwxrwxr-x.  7 apache apache 4096 Nov 10 11:16 vits
drwxr-xr-x.  3 apache apache   17 Nov  9 17:56 vits_v2.0
[root@VITSServer html]#

下面是vits目录

[root@VITSServer vits]# ll
total 1504
drwxrwxr-x. 15 apache apache    4096 Nov  9 17:27 application
drwxrwxr-x.  7 apache apache    4096 Nov  9 18:01 assets
drwxrwxrwx.  4 apache apache    8192 Nov  9 18:08 files
-rwxrwxr-x.  1 apache apache    6452 Nov  9 17:50 index.php
drwxrwxr-x.  8 apache apache    4096 Nov  9 17:27 system
-rwxrwxr-x.  1 apache apache 1503295 Nov  9 17:27 vits_db.sql

我的上传路径位于“files”目录中。如上所示,我已将其设置为777并且所有者:group to apache。我的上传如何仍然返回错误,指出 “上传目标文件夹似乎不可写”

我检查了我的php_info,似乎一切都应该没问题。

enter image description here

现在的问题是,我在这里遗漏了什么吗?

我已经查看了 stackoverflow页面:

1 个答案:

答案 0 :(得分:1)

刚想通了。

显然,即使使用正确的权限和所有权,我的selinux也阻止上传。

我用ff命令禁用了我的selinux:

setenforce 0

[UPDATE]

或者,为了将 selinux 状态保留为启用,我们可以更改目标上传目录的上下文。

有两种方式:

  
      
  1. 通过chcon命令。但是,使用chcon命令所做的更改不会在文件系统重新标记或执行文件系统时生存   restorecon命令

  2.   
  3. 通过 semanage fcontext 。这是一个持久的变化。

  4.   

希望这也有助于其他人。