WordPress で強制的に PORT モードをつかってアップデートする方法。


またしてもメモ書きです。

 

mimumimu.net でも、PASV 通信を行えるように整備をしまして、
その際に接続先IPアドレスをグローバルIPを返すようにしてあります。

 

その関係で、LAN 内からWordPress の自動アップデートをしようとすると、
PASV 接続されて 接続先が解決できなくなってアップデートできなくなります。

 

当初は vsftpd (うちのサーバはこれを使ってます。) の設定を変更して、
LAN 内と WAN で設定を変更したり、
LAN 内のみプロキシを設けて弄れないのかな。と考えていましたが、
どうもその設定がなさそうで。

 

そこで WordPress 側なのですが、
/wp-admin/includes/class-wp-filesystem-ftpext.php  の
84行目(付近)にある、

 

//Set the Connection to use Passive FTP
@ftp_pasv( $this->link, true );

を、

//Set the Connection to use Passive FTP
@ftp_pasv( $this->link, false );

に変更すると、いい感じで PORT 接続を使ってくれるようになります。

 

荒療治のような気がするので、
もっと画期的な解決法をご存じの方は教えてください。


 

関連記事