php.ini 中的short_open_tag和asp_tags
short_open_tag
决定是否允许使用 PHP 代码开始标志的缩写形式(<? ?> )。如果要和 XML 结合使用 PHP,可以禁用此选项以便于嵌入使用 <?xml ?> 。否则还可以通过 PHP 来输出,例如:<?php echo '<?xml version="1.0"'; ?> 。如果禁用了,必须使用 PHP 代码开始标志的完整形式(<?php ?> )。
注意: 本指令也会影响到缩写形式 <?= ,它和 <? echo 等价。使用此缩写需要 short_open_tag 的值为 On。
比较老的 PHP 程序,常常使用简短风格,为了使这种代码可以被解释,必须开启 short_open_tag选项; 如果不改则会出现如下错误:
Warning: Unexpected character in input: ‘\’ (ASCII=92) state=1 in /home/http/…/index.php on line 485Warning: Unexpected character in input: ‘\’ (ASCII=92) state=1 in /home/http/…/index.php on line 485Parse error: syntax error, unexpected T_STRING in /home/http/…/index.php on line 485
个人不喜欢把 short_open_tag 改成 On ,分析一下只要把代码中的 <? 改成 <?php , <?= 改成 <?php echo 。 一行Shell把它替换一下就OK
asp_tags
除了通常的 <?php ?> 标志之外还允许使用 ASP 风格的标志 <% %>。这也包括了输出变量值的缩写 <%= $value %>。
注意: ASP 风格标志的支持是 3.0.4 版新加的。