剛配置好 XAMPP 開發環境,興沖沖地寫了一個 <? phpinfo() ?> 來測試,結果瀏覽器卻吐出一片空白——連錯誤訊息都沒有。這讓人摸不著頭腦:難道 PHP 根本沒執行?後來改用標準寫法 <?php phpinfo() ?>,頁面立刻正常顯示。原來罪魁禍首是 PHP 沒有開啟「短標籤」功能。
PHP 預設支援 <?php ... ?> 這種完整標籤,但簡寫形式 <? ... ?> 和 <?= ... ?> 需要在 php.ini 中啟用 short_open_tag 指令。許多預設安裝(包括 XAMPP 某些版本)為了相容性與安全性,將其設為 Off。當你使用短標籤時,PHP 引擎不認得它,便把整段代碼當作純文字輸出,導致頁面空白且無任何報錯。
php.ini 設定檔(可透過 phpinfo() 頁面的「Loaded Configuration File」欄位確認路徑)。short_open_tag。short_open_tag = Off 這行前面加上分號 ; 註解掉。;short_open_tag = On(或直接新增一行 short_open_tag = On)。重啟 Apache 後,重新整理測試頁面,原本空白的 <? phpinfo() ?> 應該能正常顯示 PHP 版本資訊。此時 <?= $var ?> 這類輸出短標籤也能正常運作。
雖然開啟短標籤能相容舊代碼,但現代 PHP 開發推薦統一使用完整標籤 <?php ... ?>,避免跨環境部署時出現相容性問題。若專案需維護大量舊代碼,啟用此選項是快速解決之道;長遠來說,建議逐步重構為標準寫法。