【问题标题】:php have some rules with the open tag <? ?>? [duplicate]php 有一些带有开放标签的规则 <? ?>? [复制]
【发布时间】:2011-09-15 18:50:53
【问题描述】:

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

<? 
        $anything;
        echo problem;

?>

应用程序没有运行。

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

附:更好的方法是将所有&lt;? 更改为&lt;?php 吗?

【问题讨论】:

  • 如果您发布您遇到的问题,您将获得更好的答案。
  • 是的,使用&lt;?php ?&gt; 更好,但这是您的问题吗?

标签: php php-shorttags


【解决方案1】:

开放标签的&lt;? 版本称为“短标签”。虽然 php 社区更喜欢使用这个标签的完整版 &lt;?php,但使用短标签仍然是可以接受的。理想情况下,我们都会一直使用&lt;?php,但我们经常处理遗留代码,并且将所有出现的&lt;? 更改为&lt;?php 可能既乏味又耗时。如果您发现自己需要让 php 解释器识别短标签,您可以使用“short_open_tag=1”指令在 php.ini 文件中启用它。

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

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

【讨论】:

    【解决方案2】:

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

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

    注意&lt;?= 而不是&lt;?php echo

    【讨论】:

    • mmm 不,= 等价于 '
    【解决方案3】:

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

    将其设置为开启或关闭。

    但总的来说..使用&lt;?php ?&gt;这样更好。

    【讨论】:

      【解决方案4】:

      您应该使用&lt;?php ?&gt; 来确保正确解析。

      【讨论】:

        【解决方案5】:

        使用&lt;?php ?&gt;&lt;? ?&gt; 被称为短标签,并不是每个服务器都设置为支持它们。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-28
          • 1970-01-01
          • 1970-01-01
          • 2018-08-29
          相关资源
          最近更新 更多