今天在我的 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