【问题标题】:why would shorthand PHP opening statements not be working? [duplicate]为什么速记 PHP 开场白不起作用? [复制]
【发布时间】:2010-10-27 04:19:33
【问题描述】:

我正在尝试将我的 Mac 设置为 php 服务器,但是,到目前为止,我已经取得了成功,但我似乎遇到了一些麻烦。

我的 PHP 开头语句不起作用...但只有速记语句。

这行得通:

<?php 
  phpinfo();
?>

这不是:

<?
  phpinfo();
?>

这是 Mac 10.5。希望有人能提供帮助。

谢谢

【问题讨论】:

  • 你最好使用干净的代码。
  • 正如其他人所提到的,关键是在您的 php.ini 中启用短打开标记选项。但是,强烈建议使用完整的开场白。短的很旧,模棱两可,如果我没记错的话,很快就会过时。如果你看到它,就跑到山上!

标签: php php-shorttags


【解决方案1】:

在您的 php.ini 中,将 short_open_tag 设置为 On。

short_open_tag = On

来自文档:

short_open_tag 布尔值

判断是否为短格式 (&lt;? ?&gt;) PHP的开放标签应该是 允许。如果你想在 与 XML 结合,您可以禁用 这个选项为了使用&lt;?xml ?&gt; 排队。否则,您可以打印它 使用 PHP,例如:<?php echo '<?xml version="1.0"'; ?>。还有如果 禁用,您必须使用长格式 PHP 开放标签 (&lt;?php ?&gt; )。

编辑:

short_open_tagPHP_INI_ALL as of 5.3.0,这意味着它可以在任何地方更改(php.ini,.htaccess,在脚本中)。而且5.3.0之前是PHP_INI_PERDIR,也就是说可以在php.ini和.htaccess中设置。因此,在大多数情况下,即使您不控制服务器,也可以更改其值。

但是,默认情况下此设置处于关闭状态。如果您要分发您的脚本,那么它不适用于大多数开箱即用的安装。在这种情况下,搜索/替换以切换到 &lt;?php 是个好主意。

【讨论】:

  • 这是正确的解决方案。对于问题作者:short_open_tag 是一个坏主意,因为您可能无法始终控制运行代码的服务器,我强烈建议您快速替换您的项目以使用完整的开始标签。
  • short_open_tags 是 PHP_INI_ALL 可更改的。
  • 谢谢。我检查了实时服务器是否启用了此功能。我同意一般来说这样做不是一个好习惯,但在这个项目上没关系。我只是觉得最好把笔记本电脑整理好,这样我就可以把我的工作带回家了:)谢谢你的好建议和积分。
【解决方案2】:

检查您的 php.ini 文件是否包含 short_open_tag=1 行。

【讨论】:

    【解决方案3】:

    您是否确认在您的 php.ini 中启用了short_open_tag(请参阅here)?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-10
      • 2014-09-26
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 2022-01-23
      相关资源
      最近更新 更多