Recent posts:

パソコンについての使いこなし情報や便利な情報を紹介

PHP中にXML宣言を書いてエラーが発生する場合の対処法(+さくらのレンタルサーバの場合)

2013/03/26 09:30

PHP中にXML宣言を記述したらエラーを吐いたので、今後再設定するときに忘れないようPHP中にXML宣言を書いてエラーが発生する場合の対処法をメモ。

PHP中にXML宣言を書いてエラーが発生する場合の対処法(+さくらのレンタルサーバの場合)

PHPの便利なところは、HTML中にPHPの記述を加えることが出来ることですが、XMLやXHTML中に記述して.phpとすると、サーバの設定によってはエラーが発生する場合があります。

これは、PHPのショートタグと呼ばれる機能が関係していて、(設定によりますが)PHPの開始・終了を「<?php ~ ?>」ではなく「<? ~ ?>」と省略する機能がXML宣言の「<?xml ~ ?>」の「<?」と「?>」に対応してしまい、XML宣言をPHPと認識してしまうことが原因となります。

今回はこれを避ける方法をまとめておきます。


まず、ショートタグ自体を無効にする方法です。

これにはphp.iniまたは.htaccessを設定する必要があります。

当サイト(さくらのレンタルサーバを使用)の場合、php.iniを編集(使用)しています。

php.iniに設定する場合、 short_open_tag = Off を記述します。

.htaccessに設定する場合、 php_flag short_open_tag Off を記述します。

さくらのレンタルサーバの場合、「サーバコントロールパネル」にログイン後、メニューの「アプリケーションの設定」欄の「PHP設定の編集」から編集することが出来ます(テキストボックス内に先ほどの設定を記述)。

もちろんphp.iniを直接編集しても問題ないでしょうが…


これらの設定を使わず、PHPでXML宣言を出力する方法もあります。


どちらにせよ、利用しているサーバ(レンタルサーバ)等の状況に応じて使い分ければいいと思います。

今回はこの辺で。

では、また…

Pocket

コメント

  • りずむ

    数日間困っていて、サーバーを変えるつもりでした。
    いろいろと試しては元に戻す作業も続いていて
    精神的にも弱っていました。
    解決できた達成感と、開放される喜びでいっぱいです。
    本当にありがとうございました。

    • t4g

      りずむ さん、コメントありがとうございます。
      私も当時この現象で悩まされたため、
      記録として残しておこうと思い記事を作成しました。
      お役に立てて何よりです。

Twitter

【更新しました】
価格が安く汎用性がありそうな新ドメインを検討する - PC雑記帳
http://zakkiweb.net/a/52/

2016/11/28 20:02

【更新しました】
ConoHaのVPSの512MBプランに申し込んでみた - PC雑記帳
http://zakkiweb.net/a/51/

2016/10/30 10:02

【更新しました】
VPSにインストールしたBitnami RedmineにNginx経由でアクセス(CentOS) - PC雑記帳
http://zakkiweb.net/a/50/

2016/09/25 12:01