3

/var/wwwフォルダーに Web アプリケーションをホストしています。Web アプリケーションの PHP スクリプトの 1 つからフォルダーを作成しています。作成されたフォルダのデフォルトのパーミッションはdrwx------、つまり 700 です。しかし、そのフォルダには少なくとも 755 のパーミッションが必要です。

今まで試してみました: mkdir($path, 0755)chmod($path, 0755)PHP 関数ですが、成功しませんでした。

私の問題を解決する方法を知っている人はいますか?

何百万もの前もって感謝します。

4

2 に答える 2

2

umaskを変更してみましたか?

ここを見てください:http://nl3.php.net/manual/en/function.umask.php

最も簡単な方法:

$oldmask = umask(0);
chmod($path, 0755);
umask($oldmask)
于 2011-06-29T08:00:46.777 に答える
1

デフォルトの権限が 700 であるため、親ディレクトリ (フォルダを作成しようとしているディレクトリ) には、グループ所有者または他のユーザーの rw 権限がありません。ほとんどの場合、実行中のデーモン (httpd) は親フォルダーの所有者ではないため、ディレクトリを変更できません。

簡単に言えば、php スクリプトには、新しいディレクトリを変更または追加するためのアクセス権がありません。親フォルダーのパーミッションを少なくとも drwxrw-rw- (または 0755)に変更する必要があります。

これを行うには、ssh、cpanel、または ftp クライアントを使用します。PHPスクリプトを使用してそれを行うと、親の親が再び0700になるため、同じ問題で再び終了します。;)

于 2011-06-29T07:43:57.853 に答える