今天在我的 CentOS VPS 上使用 <?= ?> 指令对模板PHP文件做直接输出时,发现根本无法输出,于是去找原因,发现CentOS 的 php.ini 默认会关闭短开放标签的功能(Short Open Tag),也就是不能使用 <? ?> 标签,只要把短开放标签重新打开即可。
对于 PHP 5.4 以前的版本,如果关闭的短开放标签,就不能再使用 <?= ?> 进行输出了,而对于 PHP 5.4+,不论是否关闭了短开放标签功能,都可以使用 <?= ?> 进行输出。
具体 CentOS 的开发者为什么想要在默认配置里关闭短开放标签,可能是因为短开放标签与XML文件头冲突的原因吧(<?xml version="1.0"?>)。
个人觉得,编写AJAX程序时候,使用JSON代替XML要方便得多。
打开短开放标签的具体做法是修改配置项 /etc/php.ini:
short_open_tag = On
参考:http://www.php.net/manual/en/ini.core.php#ini.short-open-tag