2

-- オプションを使用してワードプレスでファイルをアップロードしようとしていますMedia > Add Newが、アップロードをクリックすると次のエラーが表示されます。

ディレクトリ wp-content/uploads/2012/11 を作成できません。その親ディレクトリはサーバーから書き込み可能ですか?

WordPress 4.3.1 をインストールしました。

ありがとうございました

編集: 私は共有サーバー上にいます: host=i686-redhat-linux-gnu および Apache。wp-content/uploads のパーミッションを 755 と 777 に変更しましたが、次のエラーが表示されます。

「my_file.jpg」は、エラーによりアップロードに失敗しました ディレクトリ wp-content/uploads/2012/11 を作成できません。その親ディレクトリはサーバーから書き込み可能ですか?

何か案は?

4

8 に答える 8

5

/uploads/ および場合によっては /wp-content/ にもフォルダーのアクセス許可を設定する必要があります。

通常、両方のフォルダーは 755 である必要があります。一時的に /uploads/ を 777 に上げて画像をアップロードする必要がある場合があります (これにより、サーバーはフォルダーのアクセス許可とユーザーを正しい設定に変更する必要があります) が、755 に戻す必要があります。あちらへ。

FTP クライアントを使用してアクセス許可を設定するのが最も簡単です。FilezillaおよびFTP クライアント « WordPress Codex .

また、Wordpress の正しいアクセス許可設定については、ファイルのアクセス許可の変更 « WordPress Codexを参照してください。

codex.wordpress から:通常、すべてのファイルは Web サーバー上のユーザー (ftp) アカウントによって所有され、そのアカウントによって書き込み可能である必要があります。共有ホストでは、ファイルは Web サーバー プロセス自体によって所有されるべきではありません (これは、www、apache、または nobody ユーザーの場合もあります)。

WordPress からの書き込みアクセスが必要なファイルは、WordPress が使用するユーザー アカウント (サーバー アカウントとは異なる場合があります) によって所有またはグループ所有されている必要があります。たとえば、FTP ファイルをサーバーとやり取りできるユーザー アカウントを持っていても、サーバー自体は別のユーザー、別のユーザー グループ (dhapache や nobody など) を使用して実行されている場合があります。WordPress が FTP アカウントとして実行されている場合、そのアカウントには書き込みアクセス権が必要です。つまり、ファイルの所有者であるか、書き込みアクセス権を持つグループに属している必要があります。後者の場合、それはパーミッションがデフォルトよりも寛大に設定されていることを意味します (たとえば、フォルダーには 755 ではなく 775、644 ではなく 664)。

于 2012-11-06T20:18:58.703 に答える
3

ssh でwp-contentフォルダーに移動し、次の 2 行を入力します。

sudo chown -R www-data uploads/
sudo chmod -R 755 uploads/

または、静的パスとフル パスを使用できます。

sudo chown -R www-data /var/www/wp-content/uploads/
sudo chmod -R 755 /var/www/wp-content/uploads/

アクセス許可を 777 に変更しないでください。これは単に安全ではないためです。

于 2014-03-12T06:11:24.777 に答える
2

私は先週同じ問題を抱えていました。提案されたすべてのソリューションを試しても成功しなかった後、サーバーで SElinux を有効にしていることに気付きました。私の場合、そしておそらく他の多くの人にとって、SElinux がエラーメッセージの原因でした:

Unable to create directory wp-content/uploads/2013/04. Is its parent directory writable by the server?

私の解決策は、ここで提案されているものに基づいています: http://doc-ok.org/?tag=selinuxこれは、他の人々のニーズにより適している可能性があります。

私の場合、wordpress ディレクトリは、ssh アクセスできるサーバーのホーム フォルダーにあります。それ以外の場合は、管理者に問い合わせる必要があります。

とにかく、これが私の解決策です。

chgrp -R apache wordpress #change wordpress with your base directory for wp..
#alternatively, chown the whole directory to apache
chmod -R 774 wordpress/wp-content #if chown by apache, the permissions can be more restrictive

私の場合、フォルダーの所有権/グループの所有権をApacheに変更する必要があっただけではありません。また、wp-content ディレクトリの SElinux ラベルを httpd_sys_rw_content_t または httpd_sys_content_t に変更する必要がありました。

chcon -Rv --type=httpd_sys_content_t wordpress/wp-content

これは私にとってはうまくいきました。

SElinux の詳細については、たとえば次の場所を参照してください。

wiki.centos.org/HowTos/SELinux

fedoraproject.org/wiki/SELinux

于 2013-04-23T09:21:05.557 に答える
1

私は同じ問題に直面し、より良い解決策を見つけました:

  1. cpanel > phpmyadmin に移動します
  2. データベースを選択
  3. wp_options テーブルを開く
  4. SQLクエリを作成するSELECT * FROM wp_options WHERE option_name LIKE '%upload_path%'
  5. パスを変更する
于 2015-04-24T17:30:02.117 に答える
1

ディレクトリは/wp-content/uploads、Web サーバーから書き込み可能である必要があります。Linux で Apache を使用していて、ユーザーとして実行している (適切なユーザーに変更する) と仮定すると、apacheこれに対する簡単な修正の 1 つは、Web ルートから次のコマンドを実行することです。

chown -R apache.apache wp-content/uploads
chmod -R 755 wp-content/uploads
于 2012-11-06T20:08:52.887 に答える
1

これで修正されるはずです。

    sudo chown -R www-data:www-data wp-content/uploads

必要がない場合は、パーミッションを 755 に変更しないでください。それでもうまくいかない場合は、次のことを試してください。

    chmod -R 755 wp-content/uploads
于 2015-10-28T09:58:27.763 に答える