意外的结束括号与分裂的PHP代码

时间:2019-06-04 21:28:03

标签: php syntax-error

我收到以下错误:

  

解析错误:语法错误,意外的'}',期望LINE_WITH_COMMENT上/blah/blah/Edit.php中文件的结尾

在我的Edit.php视图文件中查找此代码。

<? $categories = $this->config->loader->getCategories(); 
   foreach($categories as $category) { ?>
   <?  $selected = $this->obj->category==$category ? 'selected' : ''; ?> 
       <option value="<?=$category?>" <?=$selected?>><?=$category?></option>

   <?php } ?>  //ERROR IS HERE

但是,如果我将<?php更改为短标签<?,则错误消失了,并且我的脚本可以按预期工作。

它在带有hostgator且具有<?php的服务器上工作,但是在我的本地计算机上,它仅与<?一起工作,如果我有<?php,则给出致命错误。

从本地计算机上的phpinfo():PHP版本7.2.17-0ubuntu0.19.04.1

我现在已将<?php更改为<?,但是如何解决?我不想使用短标签。

1 个答案:

答案 0 :(得分:0)

实际上,我的short_open_tags中的Off被设置为php.ini

所以我去/etc/php/7.2/apache2/nano php.ini,通过搜索short_open找到了设置,并将short_open_tags = Off更改为short_open_tags = On ...然后我决定转身它回退了,因为...我读过您应该将其保留。然后,我将其他<?更改为<?php

问题是我在部分代码中使用了短的开放标签<?,并且没有得到评估-而是将其输出。而且我没有看到它的输出,因为我正在查看渲染的页面,而不是页面的源,而我只看到了渲染页面中令人困惑的问题