<? ?> 标签在 php 5.3.1 中不起作用
我刚刚在我的linux服务器中安装了php 5.3.1,现在我以前用标签编写的旧工作根本不起作用。
请帮帮我..我该如何解决这个问题??
我刚刚在我的linux服务器中安装了php 5.3.1,现在我以前用标签编写的旧工作根本不起作用。
请帮帮我..我该如何解决这个问题??
不建议使用短标签 ()。应使用全长标记 ()。如果要使应用程序可移植,则可能不允许在另一台服务器上使用短的打开标记,因此您的应用程序将中断。<? ?>
<?php ?>
另一方面,无论php.ini设置如何,echo速记始终可用,并且不会被弃用。您可以使用它来代替<?= $var ?>
<?php echo $var; ?>
作为最后的手段,要启用短标签,请通过以下方式之一启用ini指令(很可能并非所有方式都适合您):short_open_tag
在 php 中设置指令.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 源,应按此方式进行处理。几年来,人们一直
建议不要使用短标签“short cut”,
而是使用完整和标签组合。随着XML的广泛使用以及其他语言对这些标记的使用,服务器很容易
混淆,并最终在错误的上下文中解析错误的代码。但是,由于
此快捷方式已成为一项功能很长时间,因此目前仍
支持向后兼容性,但我们建议您不要使用它们。<?
?>
<?php
?>
另请注意,此 RFC 拒绝了有关模板的短开放标记:http://wiki.php.net/rfc/shortags
看起来您在 php.ini 文件中将short_open_tags设置为“Off”。尝试将其设置为“开”并重新启动apache。