2016-07-28 183 views
0

我在LEMP堆栈上遇到了问题。我无法让我的nginx用户通过php脚本创建目录。mkdir php与nginx的权限被拒绝

我的堆栈是 RHEL 7.2 NGINX MariaDB的 PHP

我成功安装了堆和使用以下代码用于在创建的index.php目录

 <?php 
      echo(exec("whoami")); 
      mkdir("test",0777,true); 
      $error=error_get_last(); 
      echo $error['mssage']; 
     ?> 

输出 nginx的 MKDIR() :权限被拒绝

Nginx exceling PHP via nginx用户。

Applied 'chown -R nginx: nginx <working folder>' 
Applied 'chmod -R 0777 <working folder> 

但上面的脚本给出了相同的权限被拒绝的错误。

我的计划是安装Wordpress并将网站导入到此Web服务器。但是由于nginx工作文件夹的权限被拒绝,Wordpress无法创建新目录或将内容从一个文件夹移动到另一个文件夹。

+0

所以,一个原因可能是,SELinux的是不允许的Nginx写入到一个目录,但这种可能性不大。要临时检查这个**,执行'sudo su',以便你是root用户,然后运行'echo 0>/selinux/enforce'。尝试再次运行脚本。如果仍然出现相同的错误,则再次启用SELinux'echo 1>/selinux/enforce'并发布您要写入的目录结构的权限。 –

回答

0

SELINUX设置为禁用或许可的/ etc/SELinux的/配置

如果SELINUX已被强制执行,使用semanage的改变MySQL的datadir目录及其内容的上下文。

外壳> sestatus

SELinux status: enabled 
SELinuxfs mount: /selinux 
Current mode: enforcing 
Mode from config file: enforcing 
Policy version: 24 
Policy from config file: targeted 

那么你的SELinux上。

其他可能的提示:

http://forums.mysql.com/read.php?20,591661 (mysqld service won't start after server move) 
http://forums.mysql.com/read.php?20,568810 (MySQL LOAD DATA LOCAL INFILE) 
http://forums.mysql.com/read.php?52,275498 (Can't connect to MySQL server on '192.168.1.197' (13)) 
http://forums.mysql.com/read.php?52,252406 (PHP Remote connection Issue)