我刚在我的Linux服务器上安装了PHP 5.3.1,但是我以前使用标签编写的旧代码完全无法运行。
请帮我解决这个问题... 我该如何解决?
我刚在我的Linux服务器上安装了PHP 5.3.1,但是我以前使用标签编写的旧代码完全无法运行。
请帮我解决这个问题... 我该如何解决?
<? ?>
),应该使用完整的标签(<?php ?>
)。如果想要使您的应用程序可移植,可能在另一个服务器上不允许使用短标签,因此您的应用程序将会出现问题。<?= $var ?>
始终可用,无论php.ini设置如何,并且不会被弃用。您可以使用它来替代<?php echo $var; ?>
作为最后的手段,要启用短标签,请以以下方式之一启用short_open_tag
ini指令(可能不是所有方法都适用于您):short_open_tag = On
(推荐方式);
- 在您的代码中调用ini_set("short_open_tag", 1);
;
- 将以下行添加到您的.htaccess文件中:php_value short_open_tag 1
。
对于默认行为:
------------------------------------------------
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
看起来你在php.ini文件中将short_open_tags设置为“Off”。 尝试将其设置为"On"并重新启动apache。
可能是您的新配置不允许使用短标签。只需使用<?php ?>
。这是更好的实践方式。
如果您仍然想使用它们,可以使用short_open_tag
指令。还要记住,如果禁用了短标签,则无法正常工作。
这样做的主要原因是为了您可以使用内联XML标签。
如果您使用wamp或xamp,激活它们非常简单。 只需点击图标->php服务器->设置->允许短标签打开
最好不要使用此功能。例如,XML在文档中使用相同的方式打开标题。
<?= ?>
语法。而且从php6开始这种说法就不再正确了。停止传播这个荒唐的谣言。 - Your Common Sense