Home > Linux

Linux Archive

tailで出力されるログの文字コードを変換

grep や tail -f で、特定の文字を色付けしてみる - おはよう。目覚めは眩しくて、悲しい…
を見た。
あっ、この方法を使えばtailで出力されるログの文字コードを変換することができるぞ!

tailで確認するログの文字コードをeuc-jpからutf-8に変換する場合はこんな感じ

tail -F php_error.log | perl -MEncode -pe '$_ = encode("utf-8", decode("euc-jp", $_))'

うん、便利!!

XREA DOMXPathのquery()で真っ白に

比較的新しいバージョンのプログラムを使えるのと、サーバー代が安いのでXREAのサーバーをよく使わせてもらっているのですが、そのXREAで今回一つハマってしまったことがありましたので報告です。

Zend FrameworkのZend_Service_Yahooを使用してちょっとしたマッシュアップサイトを作ったのでXREA(s341.xrea.com)に上げて動かそうとしたら、画面が真っ白になって反応なし・・・。当然display_errorsはon。原因を調べてみるとZend_Service_Yahooの_checkErrors()で使用されているDOMXPathのquery()を実行するところでプログラムが止まっていることが分かりました。これ以上は自分の力で原因を追うことが出来ないのでネットで検索。すると次のサイトで同じような状況が報告されていました。

XUGJ「OpenID モジュール」

$doc = new DOMDocument;$doc->loadXML($xml);

$xpath = new DOMXPath($doc);

$result = $xpath->query('/xrds:XRDS');//ここでプロセス落ちる

不思議な物ショップ 「OpenID」

・原因
xrea、CORESERVER.JPのレンタルサーバーで使用されているlibxml2のバージョンに問題があり、xmlファイルの解析に失敗する。
libxml Version 2.6.19の不具合が原因のようです。

さっそくphpinfo()で使用しているサーバーのlibxml2のバージョンを確認してみると

libXML Version 2.6.19

やはりlibxml2のバージョンが原因のようです。

libxml2を使用するプログラムはXREA以外のサーバーで動かす必要がありそうですね。ちなみにZend Framework内をxpath->queryで検索したところ次に列挙されたクラスがヒットしましたので使用の際は注意しておいてください。

  • Zend_Search_Lucene_Document_Html
  • Zend_Service_Amazon(Zend_Service_Amazon_xxx色々)
  • Zend_Service_Flickr(Zend_Service_Flickr_xxx色々)
  • Zend_Service_Simpy(Zend_Service_Simpy_xxx色々)
  • Zend_Service_Technorati(Zend_Service_Technorati_xxx色々)
  • Zend_Service_Yahoo(Zend_Service_Yahoo_xxx色々)

サーバー落ちる

今日自宅サーバーが落ちてしまいました。正確に言うとサーバーを落としてしまいました。仕事中に仕事場のサーバー落とすつもりが、自宅サーバーにつないでしまって、そのままshutdown!Linuxは遠隔操作が出来るのは良いのですが、注意しとかんといかんです。

Home > Linux

Search
ezzy's latest bookmarks (delicious)
Feeds

Page Top