Que*_*low 11 php apache permissions selinux mkdir
我有一个以前工作的PHP脚本,能够创建一个目录mkdir:
$webfolder = "/var/www/html/images/user";
mkdir($webfolder, 0770);
Run Code Online (Sandbox Code Playgroud)
我对文件夹的权限设置进行了一些更改,/var/www/html/images现在是:
drwxrwx---. myself apache system_u:object_r:httpd_sys_content_t:s0 images
Run Code Online (Sandbox Code Playgroud)
我想以前这个文件夹是由apache.但由于apache具有读取,写入和执行作为用户组的完全权限,我想知道为什么它无法在其中创建文件夹.使用mkdir生成一个false布尔值.
问题是由于目录所有权还是还有其他原因?请注意,我使用的是PHP 5.4版.
错误日志添加:
[2012年12月17日星期一11:12:34] [错误] [客户端127.0.0.1] PHP警告:mkdir():第33行/ var/www/html/upload中的权限被拒绝,引用:https:// mywebsite. COM /引荐
Que*_*low 30
答案正好在我面前,但由于我对SELinux的不熟悉,我想念它.
应该将SELinux上下文类型设置为httpd_sys_content_rw_t而不是httpd_sys_content_t使文件夹对于apache既可读也可写.使用以下命令以递归方式更改上下文:
# chcon -R -t httpd_sys_content_rw_t /var/www/html/images
Run Code Online (Sandbox Code Playgroud)
好悲伤.希望它可以帮助遇到此问题的其他人.
| 归档时间: |
|
| 查看次数: |
25759 次 |
| 最近记录: |