「php_flag short_open_tag off」の意味
小粋空間 » 自宅サーバ » Apache » 「php_flag short_open_tag off」の意味
以前エントリーした「さくらインターネット+DynamicMTMLで「Internal Server Error」になる場合の対処」の、.htaccessに記述する「php_flag short_open_tag off」の意味について紹介します。
1.はじめに
Apache 設定ファイル(.htaccess)に下記のphp_flagディレクティブが記述されていると、特定の環境で「Internal Server Error」になるようです。
php_flag short_open_tag off
が、そもそもこのディレクティブや「short_open_tag」の意味が分かりません。
2.php_flagディレクティブの意味
まずphp_flagディレクティブの意味は、PHPの設定の変更を行うためのものです。
フォーマットは、
php_flag name on|off
になります。
つぎにnameの部分にあたる「short_open_tag」の意味ですが、これはPHPタグの短縮型「<? ?>」を使用可能にするかどうかを設定するためのものです。
オンにすると「<? ?>」が使用可能になります。
オフにすると「<? ?>」が使えないので「<?php ?>」を使用する必要があります。
よって、HTMLファイルに含まれる、
<?xml version="1.0" encoding="Shift_JIS"?>
をPHPとして解釈させないためには、「short_open_tag」をオフにする必要があります。