2013-04-01 27 views
3

所以我現在有一個網站在Apache 2.2和PHP 5.3.18上生產生活,它的​​功能如預期。我只是建立了一個新的開發環境,並決定啓動Apache 2.4和PHP 5.4.7來嘗試它們(功能版本不應該破壞我所假設的任何東西)。PHP的語法錯誤在Apache 2.4.3和PHP 5.4.7(foreach模板語法)

不管怎樣,現在下面的代碼執行我的生產服務器上的罰款輸出以下錯誤:

PHP Parse error: syntax error, unexpected 'endforeach' (T_ENDFOREACH) in C:\xampp\htdocs\mysite\application\views\header_subnav.php on line 17 

是否有新的東西我失蹤,或者是有錯誤的配置還是什麼?

代碼:您ENDIF

<nav class="header_subnav"> 
       <div class="subnav_item_wrapper"> 
        <a href="<?php echo URL::site(); ?>">Home</a>&nbsp;&#8594;&nbsp; 
       </div> 
       <?php $i = 0; ?> 
       <?php foreach($subnav as $subnav_text => $subnav_uri): ?> 
         <?php if($i === count($subnav) - 1): ?> 
          <div class="subnav_item_wrapper"> 
           <?php echo $subnav_text; ?> 
          </div> 
          <?php break; ?> 
         <? endif; ?> 
         <div class="subnav_item_wrapper"> 
          <a href="<?php echo URL::site($lang.'/'.$subnav_uri); ?>"><?php echo $subnav_text; ?></a><?php if($i !== count($subnav) - 1) echo '&nbsp;&#8594;&nbsp;'; ?> 
         </div> 
        <?php $i++; ?> 
       <!-- LINE 17 --> 
       <?php endforeach; ?> 
      </nav> 
+0

嗯,這個問題/答案幫助了我極大。 – Sceletia

回答

4

短標籤:

<? endif; ?> 

應該

<?php endif; ?> 
+0

哦,不,多麼尷尬。嘆息感謝 – thatidiotguy

+0

我討厭XHTML的原因有幾個,但是迫使創建[short_open_tag](http://www.php.net/manual/en/ini.core.php#ini.short-open-tag)指令我最喜歡的。 –