wordpressでプラグインを自動アップグレードできないときの対処(応急処置)

先日のとおりwordpressVMWare上のUbuntuで動かしてみた。

割と普通に動作してるな、と思いきや、プラグインの自動アップグレードができない。具体的に言うと、

  • FTPの接続情報を求められる

これは wp-config.php に以下の内容を追記することで解決した。(接続情報の入力無しでプラグインの自動アップグレードが始まるようになった)

define('FS_METHOD','direct');

これは wp-content ディレクトリに upgrade ディレクトリを作成したら解決した。


一番最後の、古いプラグインが削除できないやつ。これは困った。


ということで、対処法を色々と探ってみたら、.htaccess をいじってCGIモードで動かすといいんだとか。

<files setup-config.php>
AddHandler application/x-httpd-phpcgi .php
</files>

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>

<files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</files>

<files admin.php>
AddHandler application/x-httpd-phpcgi .php
</files>

<files update.php>
AddHandler application/x-httpd-phpcgi .php
</files>

<files edit.php>
AddHandler application/x-httpd-phpcgi .php
</files>

という内容を wordpress/wp-admin/.htaccess に記述してみたが駄目。


で、色々と調べてみて見つけたのがこちらのサイト。

Wordpressの自動アップデートで接続できないときの対応 | Yusuke Yamamoto’s Web site

どうやら、apacheのユーザとwordpressのユーザが異なることが原因ぽい。

で、wordpressディレクトリを chown -R で www-dataユーザに変更してみたら、プラグインの自動アップグレードがでけた。一応、プラグインの自動アップグレードができたら再度 chown -R でwordpressディレクトリを元のユーザに戻しておく。

ちょう応急処置。


もしかすると、さっきの .htaccesswordpress/wp-content ディレクトリに置いちゃうと解決するのかもしれない。試してないけど。まぁ、次の自動アップグレードの機会にやってみよっと。

■追記
編集済みの .htaccesswordpress/wp-content ディレクトリに置いてみたけど、アップデートできなかた。うーむ。さくらとかはどうやってるんだろ。