携帯サイト制作(XHTML)でPHPを使用した場合、「Parse error: syntax error, unexpected T_STRING in ...」というエラーか画面に何も表示されない場合があります。
これはXML宣言
<?xml version="1.0" encoding="Shift_JIS"?>
の「 <? 」が、PHPの「 <?php 」の省略タグと解釈されて引き起こされている場合があります。
いくつか対処法があるのですが、サーバによっては設定できないものもありますので、環境に合わせて設定してください。
対処法1
サーバの「php.ini」の「short_open_tag」を Off にする。
※この方法を利用するとphpの省略タグが使用できなくなる為、省略タグを使用しているphpスクリプトで誤動作を起こす可能性があります。
※php.iniを設定できるサーバのみ
対処法2
サーバの「.htaccess」に「php_flag short_open_tag Off」を記述する。
※この方法を利用するとphpの省略タグが使用できなくなる為、省略タグを使用しているphpスクリプトで誤動作を起こす可能性があります。
※.htaccessが利用できるサーバのみ
PHPファイルのXML宣言部分をPHPの「 echo 」や「 print 」で吐出す。
<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"; ?>


