PHP の落とし穴
でもしっかり落とし穴があった。 PHP は <?php ... ?> だけじゃなくて、 <? ... ?> の形式でも PHP プログラムと判断する。 なので、さっきのファイルの1行目の、
<?xml version="1.0" encoding="utf-8"?>
も PHP の命令だと勘違いして、うまく動かない。 PHP らしいといえば、 PHP らしい落とし穴。
これを回避するためには、一行目を以下のように書く(カッコ悪い…)。
<?php echo '<?xml version="1.0" encoding="utf-8"?>' ?>
もしくは、 php.ini にて short-open-tagを off にするか。