Codeigniter PHP短标签不起作用 [英] Codeigniter php short tags not working
问题描述
我目前正在遵循基本的Codeigniter教程,并且作者在此view/post_index.php页面中使用了类似的代码
I'm currently following this basic Codeigniter tutorial and the author used this similar code in this view/post_index.php page
if (!isset($posts)){ ?>
<p> No Post to display </p>
<?php
} else {
foreach ($posts as $row){
?>
<h2> <?=$row['title']?> </h2>
<p> <?=$row['post'] ?></p>
<?php
}
}
?>
然后我得到一个空白页
<h2> <?=$row['title']?> </h2>
<p> <?=$row['post'] ?></p>
在我的来源中.
但是,当我使用此
<h2> <?php echo $row['title']?> </h2>
<p> <?php echo $row['post'] ?></p>
我很好.它显示了我所有的帖子.我正在使用wamp(只是从网站上下载了64bits& Apache 2.4、2.2E版本,除非我看不到它们具有的所有其他4个软件包有什么大不同....)Apache版本:2.2.21
PHP版本:5.3.10
I'm fine. It shows all my posts. I'm running off wamp (just downloaded the 64bits & Apache 2.4, 2.2E Version off the website, except I don't see much difference with all the other 4 packages they have....) with
Apache Version : 2.2.21
PHP Version : 5.3.10
这是怎么回事?
谢谢.
推荐答案
这通常意味着您没有启用短标签(大多数PHP< 5.4.0安装会默认将其关闭).您需要检查您的 php.ini
文件.
That normally means you don't have short-tags enabled (most PHP < 5.4.0 installations turn them of by default). You'll need to check your php.ini
file.
在启用它们之前,我建议阅读https://softwareengineering.stackexchange.com/questions/151661/is-it-bad-practice-to-use-tag-in-php -使用短标签语法有优缺点.
Before you enable them, I would suggest reading https://softwareengineering.stackexchange.com/questions/151661/is-it-bad-practice-to-use-tag-in-php - there are pros and cons to using the short-tag syntax.
@IMSoP也给出了非常有效的注释:
具体来说,您需要short_open_tag选项( http://www.php.net/manual/en/ini.core.php#ini.short-open-tag )已启用如果使用PHP<5.4.从5.4开始,此设置仍然存在,但对于
<?= ...?>
情况并不需要,仅可能有问题的< ;?...?>
Specifically, you need the short_open_tag option (http://www.php.net/manual/en/ini.core.php#ini.short-open-tag) enabled if using PHP < 5.4. From 5.4 onwards, this setting is still present, but is not needed for the
<?= ... ?>
case, only the potentially problematic<? ... ?>
这篇关于Codeigniter PHP短标签不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!