PHP 5跟PHP 4在解析的tag的容錯能力不一樣,在PHP 4的時候以下的寫法是可以正常執行不會出錯。
<?php if(ture){ ?>
hi
<?php;}?>
為什麼呢?因為第二組php標籤其實被當成<? php;}?>來解釋。php應該是被當成常數但是php找不到php這個常數就直接忽略掉了
所以前人在不看警告的狀態下,就留下這樣的錯誤讓我在PHP 5上解析了很久的
PHP Parse error: syntax error, unexpected end of file in /var/www/html/titan/product02.php on line 492
可是明明這一行就在298行....Orz
這個錯誤應該只是某位先人手誤忘了打空格,但是這邊特別跟大家提醒一下
在php的tag的<php後方跟?>的前方一定要記得留空格,才是正確的,雖然php對於?>前面要不要留空格有很強的容錯的能力,但是請不要跟自己開這種玩笑,這個bug至少糾纏了我一個多小時。
沒有留言:
張貼留言