PHP 短縮型のタグ

ちょこっとPHPでスクリプトを作っていたのだが..

こんなイメージで。

a.phpファイル

 <?php

$hensu = ‘data’;

include_once(‘b.html’);

b.htmlファイル

 <?= $hensu ?>

 

ところが、どうしても$hensuの値が表示されない。

<?= $hensu ?>は短縮型のタグで、<?php echo $hensu;?>と等価であるはずなのだが。

あまり推奨される使い方でないと言われるが、項目が多いのでソースを見やすくするために使ったのだがどうしても値が表示されず、ドツボにはまってしまった。

セッションでデータを引き継ぐようにしていたためそちらばかり調べていたのだが、いきついたのがphp.ini。

short_open_tag というパラメータがあってoffになっていたのを発見。(offだと短縮形タグが使えない)

原因がわかるまで数時間も費やしてしまった。