嵌入HTML中的php'if'语句在PHP7中没有正确执行

时间:2016-10-07 11:54:06

标签: php html php-7 ubuntu-16.04

我有一个PHP MVC网站,在我的观点中有很多这样的代码:

<form action="{{ route('invoice.destroy' , $invoice->id)}}" method="POST">
    <input name="_method" type="hidden" value="DELETE">
    {{ csrf_field() }}

    <div class="modal-footer no-border">
        <button type="button" class="btn btn-info" data-dismiss="modal">No</button>
        <button type="submit" class="btn btn-primary">Yes</button>
    </div>
</form>

它在PHP5中工作得非常好,但是我在PHP7的Linux服务器上托管同一网站的副本,并且此代码未正确执行。它的作用是执行:<? if($this->unallocatedCount > 0 && Session::get("user_internal") == "1"): ?> something <? endif; ?> 并且只是输出其余部分。

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

2 个答案:

答案 0 :(得分:2)

在Php 7中,默认情况下禁用短标签。你必须解决它

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

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

  

short_open_tag的值为=开

然后重启服务器...

答案 1 :(得分:0)

您应该替换short open tags

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