【发布时间】:2011-01-29 09:12:55
【问题描述】:
我刚刚在我的 linux 服务器中安装了 php 5.3.1,现在我以前用标签编写的旧工作根本无法正常工作..
请帮帮我.. 我该如何解决这个问题??
【问题讨论】:
标签: php php-shorttags
我刚刚在我的 linux 服务器中安装了 php 5.3.1,现在我以前用标签编写的旧工作根本无法正常工作..
请帮帮我.. 我该如何解决这个问题??
【问题讨论】:
标签: php php-shorttags
要启用短标签,请通过以下方式之一启用short_open_tag ini 指令(很可能并非所有这些都适合您):
short_open_tag = On(推荐方式);ini_set("short_open_tag", 1);;将以下行添加到您的 .htaccess 文件中:
php_value short_open_tag 1
更多解释:
不建议您使用短标签 (<? ?>)。您应该使用全长标签 (<?php ?>)。短语法已被弃用,如果您想让您的应用程序可移植,可能在另一台服务器上不允许短打开标签,因此您的应用程序将中断。
另一方面,echo 简写<?= $var ?> 是enabled by default since PHP 5.4 regardless of php.ini settings,不会被弃用。你可以用它来代替<?php echo $var; ?>
对于默认行为:
------------------------------------------------
php.ini values : short_open_tag
------------------------------------------------
PHP 4, 5_0
* Default behaviour : on
* php.ini-dist : on
* php.ini-recommended : on
PHP 5_1, 5_2:
* Default behaviour : on
* php.ini-dist : on
* php.ini-recommended : off
PHP 5_3:
* Default behaviour : on
* php.ini-development : off
* php.ini-production : off
以及不鼓励短打开标签的原因:
该指令决定 PHP 是否将
<?和?>标记之间的代码识别为 PHP 源代码,应该这样处理。已经
几年来建议您不要使用短标签“捷径”和
而是使用完整的<?php和?>标签组合。随着广泛使用 XML 和其他语言使用这些标签,服务器可以变得很容易
困惑并最终在错误的上下文中解析错误的代码。但是因为
这个快捷方式已经存在很长时间了,目前仍然是
支持向后兼容,但我们建议您不要使用它们。
还要注意这个拒绝的关于模板短开放标签的 RFC:http://wiki.php.net/rfc/shortags
【讨论】:
<?= ?> 语法。从 php6 开始,这不是真的。不要再散布这种疯狂的谣言
看起来您在 php.ini 文件中将 short_open_tags 设置为“关闭”。 尝试将其设置为“开启”并重新启动 apache。
【讨论】:
【讨论】:
也许您的新配置不允许使用短标签。只需使用<?php ?>。无论如何,这是更好的做法。
如果您仍想使用它们,您可以使用short_open_tag 指令。另请注意,如果您禁用了短标签,这将不起作用。
这样做的主要原因是您可以使用内联 Xml 标签。
【讨论】:
如果您使用 wamp 或 xamp,激活它们真的很容易。 只需点击icon->php server->setting->allow short tag open
最好不要使用此功能。例如 xml 使用相同的方式打开文档中的标题。
【讨论】: