問題
我剛安裝 php5,Apache 及 MySQL 運轉正常,用簡單的 phpinfo() 測試 php 也是 ok‧我把原來用 php4 寫的程式稿上傳到剛剛安裝好 php5 的新伺服器,沒想到竟然不行,錯誤信息如下‧我懷疑 php5 與 php4 不一樣,到底出了什麼問題?而且,我實際的檔案行數只有 127 行‧
Parse Error: syntax error, unexpected $end in /home/tw/www/php/modules/user.php on line 128
解答
php4 轉 php5 應該不會有問題,有差異的話應該是 php.ini 檔案的 directives (變數) 的開啟 (enable) 或關閉 (disable) 不同‧查對 php.ini 檔案看看‧此外,產生錯誤信息的大部份原因是你的 php 程式稿,檢查你的 php 檔案,看看是不是下列原因之一:
- php 檔案內少了一個大括號 “}”‧
- <?php 及 ?> 不能有巢狀結構,檔案內雖然可以有多組 <?php 及 ?>,但是從 <?php 開始,就必須用 ?> 結束,不可以用 <?php … <?php … ?> … ?> 這樣的結構‧檔案內可以容許的是 <?php … ?> … <?php … ?>‧
- 物件導向的 class 程式只能在一組 <?php … ?> 內完成,不能橫跨多組 <?php 及 ?>‧
- 多用 <?php 及 ?> ,一定會被編譯‧要用短標籤 <? 及 ?> 的話,要記得開啟 php.ini 檔案裡的 SHORT_OPEN_TAG,將它設為 1‧
0 個意見,到目前為止 ↓
要張貼意見,您必須 簽入