我刚刚在我的 linux 服务器中安装了 php 5.3.1,现在我以前用标签编写的旧工作根本无法工作..
请帮帮我..我该如何解决这个问题?
不建议您使用短标签( <? ?>
)。您应该使用全长标签 ( <?php ?>
)。如果您想让您的应用程序可移植,则可能在另一台服务器上不允许使用短打开标签,因此您的应用程序将中断。
另一方面,无论 php.ini 设置如何, echo 简写<?= $var ?>
始终可用,并且不会被弃用。您可以使用它代替<?php echo $var; ?>
作为最后的手段,要启用短标签,请short_open_tag
通过以下方式之一启用 ini 指令(很可能并非所有这些方式都适合您):
short_open_tag = On
在你的 php.ini 中设置指令(推荐的方式);
调用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 源代码,应该这样处理。几年来一直
建议您不要使用短标签“short cut”,
而是使用完整<?php
和?>
标签组合。随着 XML 的广泛使用和其他语言对这些标记的使用,服务器很容易
混淆,并最终在错误的上下文中解析错误的代码。但是由于
这个快捷方式已经存在了很长时间,因此目前仍然
支持向后兼容,但我们建议您不要使用它们。
还要注意这拒绝了关于模板的短开放标签的 RFC:http ://wiki.php.net/rfc/shortags
看起来您在 php.ini 文件中将 short_open_tags 设置为“关闭”。尝试将其设置为“开”并重新启动 apache。
也许您的新配置不允许使用短标签。只需使用<?php ?>
. 无论如何,这是更好的做法。
如果您仍然想使用它们,您可以short_open_tag
指示。另请记住,如果您禁用了短标签,这将不起作用。
这样做的主要原因是您可以使用内联 Xml 标记。
如果你使用 wamp 或 xamp,激活它们真的很容易。只需点击 icon->php server->setting->allow short tag open
最好不要使用此功能。例如 xml 使用相同的方式打开文档中的标题。