PHPのショートタグとXML宣言

XHTMLにPHPを書く場合、行頭のXML宣言がPHPタグとみなされ、エラーが出てしまう。これはサーバー側のphp.iniファイルに記述してある、short_open_tagがOnになっているから起こる問題。
<?」でPHPが開始されるから発生する。
<?php」でなければ開始できないようにすればよい。
回避するためには

&lt;?php echo '&lt;? xml version="1.0" ?&gt;'; ?&gt; 

と、phpのPrint命令でxml宣言を書き出すか、
.htaccessファイルに以下の一行を追加すれば解決。

php_flag short_open_tag off

コメントを残す