PHP の simplexml_load_string() でエラーが出るときは XML を見に行く

自分のために提供している API で XML を simplexml_load_string() でオブジェクトにしようとすると以下のようなエラーが出ます。もうしょっちゅう出てくるので疲れました。

simplexml_load_string() [http://php.net/function.simplexml-load-string]: Entity: line 16: parser error : Extra content at the end of the document [APP/models/api.php, line 170]

こういう時は XML の先頭などに必要のない文字列が出てるのが問題だと思います。ということで調べてみたら私は CakePHP を使っているのですが、cakephp/app/tmp/cache/models の中身のパーミッションがなぜかダメでXMLの先頭に不正な文字列が CakePHP によって入っていたのが問題だったのでcakephp/app/tmp/cache/models の中身のパーミッションを全て 644 にして解決しました。

コメント

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