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

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

最佳答案

endif 上的短标签:

<? endif; ?>

应该是

<?php endif; ?>

关于Apache 2.4.3 和 PHP 5.4.7 上的 PHP 语法错误(foreach 模板语法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746609/

相关文章:

apache - 安装 SSL 证书后在 CI 中重定向循环

apache - OpenId 连接 : adding extra/custom parameter at the token endpoint call

syntax - Specflow 何时给出然后但是?

c++ - 混淆后缀表达式和运算符的语法

PHP 我的选择不起作用?

php - 在 PHP 的类内部使用时,traits 中的静态变量如何不失去其值(value)?

php - 检查元素是 iFrame 还是对象 (PHP-Xpath)

apache - 在 Ubuntu 14.04 VPS (Digital Ocean) 上部署 Flask 应用程序的问题

Java 比较器语法可以工作,但为什么呢?

php - 是否可以插入一行,但前提是值尚不存在?