2010-12-08 18 views
5

を作品に失敗、これは何が起こるかPHPのMKDIR 0777は、chmodの0777は、PHP 5.2.14を使用して

[[email protected] public_html]$ php -r "mkdir('directory', 0777);" 
[[email protected] public_html]$ ls -lt 
drwxrwxr-x 2 rankranger rankranger 4096 Dec 8 17:28 directory 

[[email protected] public_html]$ php -r "chmod('directory', 0777);" 
[[email protected] public_html]$ ls -lt 
drwxrwxrwx 2 rankranger rankranger 4096 Dec 8 17:28 directory 

は、PHPのバグリスト内の任意のアイデアを任意の関連するバグを見つけることができませんでしたか?

+0

あなたのumaskは何ですか? (mkdirはumaskを使用していますか?) – Rup

答えて

5

文書化されているとおりに動作します。 mkdirはumaskを尊重し、chmodはumaskを無視します。

+0

これは想定されているところではうまくいくかもしれませんが、umaskの全体の原則は通常あなたが期待するものではありません。 –

14
$old = umask(0); 
mkdir($dir,0777); 
umask($old); 

これを読ん0777.から離れて皆のための書き込みビットを取る - http://php.net/umaskを参照してください。 、新しいディレクトリを作成するトップディレクトリを確認します。

例)

PWD /データ/ログ

$dir="/data/log/query"; 
$old = umask(0); 
mkdir($dir,0777); 
umask($old); 

/データ/ログインする必要があります0777.

関連する問題