0

画像やその他のメディアタイプをWordPressアプリケーションにアップロードしようとしていますが、次のエラーが発生します。

Unable to create directory /home/admin/video/wp-content/uploads/2012/07. Is its parent directory writable by the server?

親ディレクトリは書き込み可能だと確信していますが。実際には777の権限があります。何が問題なのでしょう?

ありがとうございました。

4

2 に答える 2

1

問題は...誰が、または何が書き込み可能かということです。おそらく、「uploads」ディレクトリ全体をPHP(別名Webサーバー)で書き込み可能にする必要があります。多くの場合、apacheおよびその他のサーバーはデフォルトでユーザーグループwww-dataになりますが、異なる場合があります。Apacheまたはlighttpd(またはその他)の構成ファイルをチェックして、それがどのユーザーおよびユーザーグループとして実行されているかを確認します。多くの場合、これらはまたは/etc/apacheなどにあり/etc/lighttpd ます。次に、uploadsディレクトリをそのグループに再帰的に書き込み可能にします。

777権限を使用することは非常に悪い考えです。常に最小限の人に特定のディレクトリへのアクセスを許可する必要があります。それで、ここにファイルパーミッションについての短い談話があります...

drwxrwxrwx   20  connermcd     staff    680 Jul 25 20:38  img
-rw-r--r--    1      admin  www-data  18530 Jul 26 21:46  example

権限文字列の最初の文字はタイプを示します。この場合、imgはディレクトリでありexample、はファイルです。これは、l(とりわけ)シンボリックリンクの場合もあります。文字列()の残りの文字は、rwxrwxrwx権限を定義します。ご覧のとおり、これは「読み取り、書き込み、実行」の繰り返しのトリプレットです。最初のトライアドは、ファイルまたはディレクトリの所有者の権限を表します。所有者は3番目の列に表示されます(たとえば、imgおよびadminの場合はconnermcd)。2番目のトライアドは、ファイルまたはディレクトリのグループ(たとえば、imgおよびwww-dataのスタッフ)のアクセス許可を示します。最後のトライアドは、すべてののアクセス許可を示します(サーバーへの一時的なアクセスを許可した人やハッカー、ヒントのヒント)。

「読み取り、書き込み、実行」の各トライアドは、数字で表すことができます。と考えるのは簡単rwxrwxrwxです421421421。それがあなたを助けるならば、それは2の倍数が7まで加算できる唯一の方法です。つまり、4は読み取りを表し、2は書き込みを表し、1は実行を表します。これらを足し合わせると、3つの数字でトライアドを表すことができます。つまり、実際に行っているのは、すべての人chmod 777 imgに「読み取り、書き込み、および実行」の許可を与えることです。また、そのディレクトリの下にあるディレクトリではなく、そのディレクトリにこれらのアクセス許可を設定するだけです。これを再帰的に行うには、フラグ-を使用できます。-Rchmod -R

あなたの場合、アップロードフォルダとそのすべてのサブディレクトリをサーバーが実行されているユーザーグループで利用できるようにするだけです。ほとんどの場合それwww-dataはですので、例としてそれを使用します。プロジェクトファイルをユーザーが所有するものとして設定して、移動や編集などを容易にすることができます。したがって、ファイルの所有者(設定に使用)であり、グループchownに属している(設定に使用)と仮定します。 )。その場合、所有者に完全なアクセス許可とグループの読み取りおよび書き込みアクセス許可を付与し、再帰的に実行します。したがって、uploadsフォルダーの親ディレクトリに移動して実行します。www-datachgrpchmod -R 760 uploads

于 2012-07-27T04:59:40.450 に答える
0

「設定->メディア」が正しいかどうかを確認し、「ファイルのアップロード」セクションを確認することもできます。

「このフォルダーにアップロードを保存する」に示されているフォルダー (およびすべてのサブフォルダー) には、755 のアクセス許可が必要です。

于 2012-07-27T12:45:55.247 に答える