php有一些开放标签的规则<! - ? ? - >?

时间:2011-06-15 18:19:07

标签: php short-open-tags

我有一个包含PHP代码的应用程序,我正在使用的PHP打开/关闭标记是:

<? 
        $anything;
        echo problem;

?>

应用程序未运行。

这种类型的打开/关闭(可能是php.ini配置)是否有一些规则可能导致应用程序无法运行?

P.S。更好的方法是将所有<?更改为<?php吗?

5 个答案:

答案 0 :(得分:2)

使用<?php ?><? ?>被称为短标签,并非每个服务器都设置为支持它们。

答案 1 :(得分:2)

运行phpinfo(),查找使用php.ini的路径。然后打开文件并找到short_open_tag

将其设置为开或关。

但总的来说..使用<?php ?>这样会更好。

答案 2 :(得分:1)

开放标记的<?版本称为“短标记”。虽然php社区更喜欢使用此标记的完整<?php版本,但仍然可以使用短标记。理想情况下,我们都会始终使用<?php,但我们经常处理遗留代码,将<?更改为<?php可能会非常繁琐且耗时。如果您发现自己处于需要允许php解释器识别短标记的情况,您可以使用“short_open_tag=1”指令在php.ini文件中启用它。

对于您正在开发的新代码,我建议使用标记<?php的长版本,因为您知道无论服务器php.ini配置中使用的ini设置如何都将兼容。有关此内容的更多信息,请参阅:StackOverflow上的Are Php Short Tags Acceptable To Use

要找出为什么你的应用程序没有运行,请检查webserver错误日志以及php错误日志,并考虑提高php的错误报告级别。这也可以使用error_reporting指令在php.ini文件中完成。这将允许您确定导致应用程序无法运行的原因,然后您将更加了解更多问题。

答案 3 :(得分:0)

您应该使用<?php ?>来确保正确解析。

答案 4 :(得分:0)

有些特定时间适合或可能使用PHP这样的短标签

<?=$sign['last_connected']?>

注意<?=而不是<?php echo