WindowsLiveWriterでの投稿時にXmlRpcエラーが出る場合の解決法

 

自宅のノートパソコンにコーヒーをこぼしたため、パソコンを臨時のものに変更しました。

いくつかソフトをインストールし、私的にはブログ更新に必須のWindowsLiveWriterの設定も終わったところで、とりあえず「下書き保存」でもしようかとボタンを押したのですが。。

image

ブログ サーバーから受信した metaWeblog.newPost メソッドへの応答が無効です。

Invalid response document returned from XmlRpc server

というエラーが出てしまいました。。。とりあえず下書きには成功しているようですが、なんとも気持悪い。

いくつか原因と解決策があるようですが、備忘的に書いておきます。

原因の調査

同じエラーメッセージでも、原因は異なる場合がありますので、エラー原因はログを見るのがよいです。ログの場所はOSによって微妙に異なりますが、WLWの場合は、「バージョン情報」を開くと表示されるダイアログの右下、「ログ ファイルの表示」をクリックすると、ログが吐かれているディレクトリが開きます。

image

まずはそのファイルを開いて、エラーが吐かれていそうな部分を見てましょう。

①<b>Fatal error</b>:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 264872 bytes) in <b>/var/www/xxx.plus-idea.net/httpdocs/xmlrpc.php</b> on line <b>54</b><br />

②<b>Warning</b>:  strpos() [<a href=’function.strpos’>function.strpos</a>]: Empty delimiter in <b>/var/www/xxx.plus-idea.net/httpdocs/wp-includes/class-wp-xmlrpc-server.php</b> on line <b>2469</b><br />

原因によって、上記のように2種類があるかもしれません。(ほかに原因がある場合は異なります。比較的多いと思われる、2エラーの場合です。)

解決策

①の場合は、メモリの割り当てが足りないということなので、前回の記事と同様、wp-config.phpファイルに、

define(‘WP_MEMORY_LIMIT’, ’64M’);

を定義します。

②の場合は、WordPressをインストールした場所の、「wp-includes/class-wp-xmlrpc-server.php」というファイルの2469行目を見てみます。

if ( strpos( $post_content, $file->guid ) !== false )

という一行がありますので、コメントアウトします。

 

私の場合は②の原因でした。あまりネット上にも情報がなかったので、WLWは使えないのかと焦った。。

こんな記事も関係あるかも。読んでみてね。

2 Responses to “WindowsLiveWriterでの投稿時にXmlRpcエラーが出る場合の解決法”

  1. きーやん より:

    助かりました。②でドンぴしゃでした。

コメントを残す

サブコンテンツ

このページの先頭へ