Apache 2.4.3和PHP 5.4.7上的PHP语法错误(foreach模板语法)

时间:2013-04-01 15:44:19

标签: php apache syntax syntax-error

所以我目前有一个在Apache 2.2和PHP 5.3.18上正在运行的网站,它按预期运行。我刚刚建立了一个新的开发环境,并决定启动Apache 2.4和PHP 5.4.7来试用它们(功能发布不应该破坏我假设的任何东西)。

无论如何,现在以下代码在我的生产服务器上执行正常输出以下错误:

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

我缺少什么新东西,或者是否有错误的配置或什么?

代码:

<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>

1 个答案:

答案 0 :(得分:4)

您的endif上的短标记:

<? endif; ?>

应该是

<?php endif; ?>