在 HTML 中嵌入 php 'if' 语句在 PHP7 中未正确执行

Embedding php 'if' statements in HTML not executing correctly in PHP7

我有一个 PHP MVC 网站,在我看来有很多这样的代码:

<? if($this->unallocatedCount > 0 && Session::get("user_internal") == "1"): ?>
    something
<? endif; ?>

它在 PHP5 中运行得非常好,但是我在 Linux 服务器上使用 PHP7 托管了同一网站的副本,并且此代码未正确执行.它所做的是执行这个:<? if($this-> 并简单地输出它的其余部分。

这是典型的 PHP7 行为还是我只需要更改服务器上的 PHP 设置?

你应该替换 short open tags

<?php if($this->unallocatedCount > 0 && Session::get("user_internal") == "1"): ?>
    something
<?php endif; ?>

在Php7中,默认禁用短标签。你必须修复它

<?php if($this->unallocatedCount > 0 && Session::get("user_internal") == "1"): ?>
    something
<?php endif; ?>

或在您的 php.ini 中启用短标签。

short_open_tag=On

然后重启服务器...