我收到以下错误:
解析错误:语法错误,意外的'}',期望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
更改为<?
,但是如何解决?我不想使用短标签。
答案 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
。
问题是我在部分代码中使用了短的开放标签<?
,并且没有得到评估-而是将其输出。而且我没有看到它的输出,因为我正在查看渲染的页面,而不是页面的源,而我只看到了渲染页面中令人困惑的问题