WordPressでWindowsLiveWriterが使えない人は試してみるべき策

この記事で救われました。
-------------------------------以下原文そのまま
途方に暮れていた俺は、そもそもXML-PCRなるプロトコルでサーバはなんて返したら正解なのよ?
っていうすごく基本的な事に興味を持つ(←遅い)
ブラウザ経由で通信していないので、データのやり取りを覗き見しようとするとめんどくさいですよね。
TCPDumpとか最近つかってないしな。 とか、おもいつつもLiveWriterってログ出力してないのだろうか・・? という疑問をもつ。
ログ出力してございますよ。奥さん。
⇒XPの場合はログはここで発掘
C:\Documents and Settings\USERNAME\Application Data\Windows Live Writer
⇒win7の場合はここ
C:\Users\USERNAME\AppData\Local\Windows Live Writer
※AppDataディレクトリが隠しディレクトリになってたので、コンパネから隠しファイルも全て表示するように変更しよう
そんでフォルダの中に”Windows Live Writer.log”っていうファイルがあったので、テキストエディタで開いてみた。
windowsアプリは作ったこともないし、何が書いてあるのかサッパリだったのだがサーバから帰ってくるXMLに関しての情報はないか探ってみた。
あった。
自分の場合は以下のXMLの証跡が残っていた。サーバはこれをクライアントに返してるにちげーねぇぜ。

1
2
3
4
5
6
7
8
9
10
11
12
13
14

<?xml version=”"1.0″” encoding=”"UTF-8″”?>
<methodResponse>
  <params>
    <param>
      <value>
      <array><data>
        <value><struct>
          (略)
        </struct></value>
       </data></array>
      </value>
    </param>
  </params>
</methodResponse”,”"

よく見てみると、なんか最後の methodResponseの閉じタグおかしくねーか?
ぜったいおかしーだろ!これ!
と思って調べてみると同じような人が何人かいた。 日本にも海外にも。
けど、なんかIIS+PHP+WordPressで発生してるらしい。
ちょっと閉じタグの挙動は違うが、Nginxでも発生したようである。
WPのソース編集という手段になってしまうが、 wp-includes/class-IXR.php のヒアドキュメントをいじると治る。
http://www.moonmile.net/blog/archives/1400
このブログを参考にした。
修正方法はシンプル。 どうもNginxがレスポンスするときに数バイトミスるらしいので、class-IXR.phpの中でヒアドキュメントを使っている箇所があれば全部空の行を追加してやる。なにこの男気改修。 WPのUPDATEするの怖いです。
EODでソース内を検索し。

1
2
3
4
5
6
7
8
9
10
11
12

$xml = <<<EOD
<methodResponse>
  <params>
    <param>
      <value>
      $resultxml
      </value>
    </param>
  </params>
</methodResponse>

EOD;


こうなってる箇所を

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

$xml = <<<EOD
<methodResponse>
  <params>
    <param>
      <value>
      $resultxml
      </value>
    </param>
  </params>
</methodResponse>
  
  
  
   
   
EOD;


こうした。 EODを使ってる箇所が3箇所くらいあったので、念のため全部空行いれてみた。(適当に3つくらい入れた)通りました!!
clip_image001

地味にうれしい。。。。
今回はハマった。 計5時間以上ハマったから。
というわけで、Nginxを使ってる人は注意なのかも。
ある意味ソースを書き換えなくてもWebサーバをApacheに変更してしまうっていう手もあるか。それかNginxをバージョンアップすれば治ったりする?

https://jizzrain.com/cats/29/

カテゴリー: WordPress技術情報   パーマリンク

コメントは受け付けていません。