mkdir php与nginx的权限被拒绝
问题描述:
我在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无法创建新目录或将内容从一个文件夹移动到另一个文件夹。
答
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)
所以,一个原因可能是,SELinux的是不允许的Nginx写入到一个目录,但这种可能性不大。要临时检查这个**,执行'sudo su',以便你是root用户,然后运行'echo 0>/selinux/enforce'。尝试再次运行脚本。如果仍然出现相同的错误,则再次启用SELinux'echo 1>/selinux/enforce'并发布您要写入的目录结构的权限。 –