WordPressでアップデートやインポートをしようとしたらFTPパスワードを聞かれちゃう件の対処

WordPressの管理画面上から、プラグインのアップデート、本体のアップデート、記事データのインポートなど、要するにサーバ上のファイルに何か変更が加えられるような操作をしようとすると、こんなダイアローグが出てくる環境がある。

広告

これは、Webサーバ(ApacheなりnginXなり)を実行しているユーザーと、設置してあるファイルの所有者が違うと出てくる。
そのままでは更新できないために、内部的にFTPで認証して上書きをしよう、という仕組みだ。

急いでいる時にこれが出ちゃうと「キー」ってなって、結局サーバに直接ログインしてSFTPで上書きしたりするの本当時間の無駄。というわけで、この現象の解決方法を2つお伝えする。

1.METHOD=DIRECT

wp-config.phpのFS_METHOD(ファイルシステム・メソッド)という定数に、「direct」を指定する。これでもういちいち接続情報を求められることはない。

define('FS_METHOD','direct');

2.パスワード情報を保存

wp-config.phpに、接続情報を記録する。define(‘FS_METHOD’, ‘ftpsockets’);

define('FTP_HOST', 'localhost');
define('FTP_USER', 'kusanagi');
define('FTP_PASS', 'hogehoge');

と、直接書き込んでしまうというもの。しかしせっかくWordPressが「このパスワードはサーバー上に保存されません。」とか気を使ってくれているのに、それをこっちでやるというのもねぇ…。ということで、1のほうが良さげ。
(でもwp-config.phpにはDBパスワードは普通に保存されているのにねぇ…)

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *