2010-11-06 94 views
2

我有2台笔记本电脑具有相同的win7配置。 Apache/PHP/MySQL是从一个到另一个的复制/粘贴。但是,只有当<?php ?>被添加到一个,并且在另一台笔记本电脑上与<? ?>正常工作时,PHP才起作用。我想使PHP的工作<? ?>而不是<?php ?>

我不想将所有PHP标记从<? ?>更改为<?php ?>。我如何使PHP与<? ?>一起工作。

+3

你指出一个很好的理由总是使用 - 你永远不知道,从一台服务器下一个如果您可以通过快捷方式逃脱,那么请节省您的麻烦/心痛,并且不要使用它。想象一下,如果你没有控制php.ini。 – 2010-11-06 05:17:56

+1

@Surreal这只是一个配置设置,其中之一。不要做出大不了的事情。为什么地球上没有人跳起来喊着关于mod_rewrite,PDO和其他可能被关闭的有用技术的相同警告,但是糟糕的短标签总是被指责? – 2010-11-06 05:22:31

+0

还有更多关于为什么<?php比<?更好用的信息? http://stackoverflow.com/questions/200640/are-php-short-tags-acceptable-to-use(我也认为短标签折旧)。 – GWW 2010-11-06 05:26:18

回答

8

您需要启用短标签。在php.ini中设置short_open_tag1

在PHP 5.4之前,这使得<?<?=分别作为<?php<?php echo的替代方案。在PHP 5.4中,<?=始终打开,因此short_open_tag仅控制<?的可用性。

6

更好的主意:更改您的代码以使用<?php。这样,它便于携带,并且在更换服务器时不必重写。

如果你真的真的想要的速记和不关心的便携性,在你的php.ini改变short_open_tag为1

+0

我认为它稍微更便于携带,并且在不太可能的情况下,如果遇到不启用短标签的服务器,则必须调整ini设置或花费30秒[通过sed运行代码] (http://www.sjhannah.com/blog/?p=118)。 – meagar 2010-11-06 05:20:24

+0

你也可以正确地使用XML标题:'<?xml version =“1.0”encoding =“UTF-8”?>'必须是'<?php echo'<?xml version =“1.0”encoding =“UTF-8 ?”>'; '''在短标签上。 – 2010-11-06 05:21:31

+2

@Brendan人们总是提到在打开XML文档时可以保存7个字符,但似乎并不在乎每输入7个字符*每次输出PHP表达式的结果。你更经常做哪些事? – meagar 2010-11-06 05:23:58