2017-06-18 21 views
0

/var/www/htmlにディレクトリを作成する簡単なPHPスクリプトを作成しようとしています。コードは次のとおりです。ディレクトリのアクセス許可が拒否されているがアクセス許可が正しく設定されている

$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 
関連する問題