2017-06-18 263 views
0

我想創建一個簡單的PHP腳本,在/ var/www/html中創建一個目錄。代碼是:使目錄權限被拒絕,但權限設置正確

$dir = '/var/www/html/testdir'; 

if (!file_exists($dir)) { 
    $oldmask = umask(0); // helpful when used in linux server 
mkdir($dir, 0777, true) || chmod($dir, 0777); 
    mkdir ($dir, 0744); 
} 

問題是,執行此操作時出現權限錯誤。但對於HTML目錄的權限是:

drwxrwxrwx. 7 apache apache 4096 Jun 18 11:46 html 

以下是錯誤:

Warning: mkdir(): Permission denied in /var/www/html/createdir.php on line 6 

此外,<?php echo exec('whoami'); ?>告訴我PHP運行作爲Apache的。

回答

0

好的,我發現了這個問題。 Linux阻止了Apache創建目錄。

修復:

chcon -R -t httpd_sys_content_t /path/to/www 
chcon -R -t httpd_sys_content_rw_t /path/to/www/dir/for/rw