LiveWriter로 WP에 글을 못쓰던 문제

직전 글에서 C++ 코드를 붙여넣다 느낀건데, Windows Live Writer; WLW에서 글을 쓰는게 아니라 WordPress에 기본으로 포함된  WYSWYG 에서 글을 쓰려니 힘든 점들이 좀 있다. 일단 말했듯이 코드 붙여넣기가 좀.

대략 2달? 정도 WLW를 못쓰고 있는데, 최근에서야 그 이유를 알게 되었다. 내가 겪던 문제가 WLW 에서 글을 쓰고 이걸 WP 쪽에 발행하면, 글의 모든 태그(HTML이든 뭐든)가 날아가버리는 문제가 있었다. 그래서 주 초에 맘잡고 검색해보니 — 사실 이걸 고치지 않아도 그냥 글을 쓰면 되었었으니 — WordPress 개발자 중 한 명인 Joseph Scott의 블로그에 관련된 글이 있었다.

요약하자면,

A gradually growing list of people have run into a very odd problem using XML-RPC methods in WordPress, where the left angle bracket ( < ) gets stripped. There’s been a fair bit of discussion about this on ticket #7771. The bottom line: the behavior of the PHP XML extension when built against newer versions of libxml2changed, such that left angle brackets get stripped when parsing XML.

즉, WLW 에서 XMLRPC로 글을 쓰는데, 이 녀석을 해석해주는 PHP-xml 의 libxml2에서 왼쪽 꺽쇠갈호(<)를 제거해버리고, 이에 따라 HTML 을 이용한 각종 스타일이 싹 다 날아가버리던 것.

결국 문제는 버젼업된 PHP 에서 XMLRPC 응답을 해석하는데 사용하던 libxml2 의 새 버젼이 좀 다른 형태로 파싱하고 있어서였다. 해결책은 역시 저 블로그에 기술되어 있으며, 현재 3가지(…)가 존재한다.

  • PHP 쪽의 XML 기능을 expat 쪽으로 컴파일해서 모듈을 만든다 — FedoraCore 쪽의  RPM을 써서 안됨.
  • libxml2 를 구버젼으로 한다 — 서버에 무슨 문제를 초래할지 알 수 없어서 기각.
  • PHP 와 libxml2 를 새 버젼으로 설치한다 — 현재 FedoraCore 쪽은 해당 버젼보다 하위 버젼을 쓴다

후. 이건 시간이 해결해주나?