TumblrPocket直接自分で扱っていたわけではないですが、社員がCakePHPでハマっていたのでメモとして。外部APIを叩く→受け取ったXMLをいったんパース→(中略)→別の外部APIへXMLを投げるということをしようとしたら、なぜか最後のXML出力内容が壊れている?という現象です。Viewファイル無しで出力できるメソッドなわけですが、これで組み立てられるXMLは(当然ながら)シンプルな構造のXMLが想定されているはずです(ソースまでは見てないけど)。いうことで元のXMLを見てみたところ、RootにAtributeが付いてたんですね。このような形式だと、たとえばsimplexml_load_stringでパースした場合、Atributeはデータ配列本体とは別のラベルが付いた配列に入ります。XMLViewで壊れてたというよりは、ひとつ前の段階のXMLObjectが既に意図した構造ではなかった、というオチです。自動的に生成するのではなく、Viewファイルを用意して差し込み置換すれば、当然、複雑な構造でも意図したように生成できるわけなので、「Viewファイル作れ」という結論になりました。2.「ディレクトリ移動したら500エラーが出る」これはほぼこのまんまですが、いったんCakePHPで作っていたアプリケーションを、とある理由で別のディレクトリに移動したら、500エラーで動作しなくなってしまったというものです。Apacheのエラーログに何も出てないのでこりゃCake側だろうなーとは思ったのですが、原因は、app/tmp/cache/persistent/cake_core_file_mapにカレントパス文字列を含むキャッシュが作られていたということでした。以前の置き場所を読みに行ってしまっていたということですね。他のConfigをアップデートしたり、キャッシュファイルを消せば再生成されるということなので、キャッシュを消してOKということになります。どちらもCakePHP2系の機能ということで、情報が少なめではあるんでしょうね。技術担当取締役を中心に技術者が書いております。プログラミング・サーバー/クラウド技術などについての小ネタから、システム化にまつわるあれこれや、プログラマー教育、そこから発生する様々な考え方などまでご紹介。