ホーム > Mobile | PHP > PHPで起こるxml宣言による不具合

PHPで起こるxml宣言による不具合

モバイル端末で、初めてxhtmlを扱う。

しかし、なぜかxml宣言の一文があるとモバイル実機でも、PCブラウザでも表示できないという問題に直面。

<?xml version=”1.0″ encoding=”Shift_JIS” ?>
(この一文を入れると、なぜかページを表示できなくなってしまう)

原因は、どうやら行頭の <? らしい。これがPHPの省略タグとして解されていることによって起きている不具合らしい。
携帯サイト制作でPHPを使う場合のXML宣言のエラー対処

PHP使ってなければ問題ないんだろうけど、今回はPHPによるプログラムでキャリア判別やDOCTYPEの出力制御等を行っているので。

解決の方法はいくつかあるけれど、とりあえずその「PHPの省略タグ」として理解されてしまう部分を、php.iniの設定変更によって無効に。レンタルサーバなので、作業ディレクトリ内に以下の記述(その省略タグを無効にする)をした.htaccessファイルを置いた。


php_value short_open_tag Off

無事解決。ありがとうございました。

参照URLにあった、その他のものも含めた、この問題の回避方法。

  1. php.ini のshort_open_tagをOffにする
  2. xml宣言の部分をPHPのechoやprintで出力する
  3. PHPを利用しない((;゚Д゚))
  4. xml宣言を外した上でPHPを利用する

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://showzine.info/blog/2009/04/php%e3%81%a7%e8%b5%b7%e3%81%93%e3%82%8bxml%e5%ae%a3%e8%a8%80%e3%81%ab%e3%82%88%e3%82%8b%e4%b8%8d%e5%85%b7%e5%90%88.html/trackback
トラックバックの送信元リスト
PHPで起こるxml宣言による不具合 - SHOWJIN*BLOG より

ホーム > Mobile | PHP > PHPで起こるxml宣言による不具合

検索
フィード

ページの上部に戻る