【问题标题】:PHP 5.3 incompatible - <? and <?php . How to fix? [duplicate]PHP 5.3 不兼容 - <?和 <?php 。怎么修? [复制]
【发布时间】:2011-02-12 13:58:26
【问题描述】:

可能重复:
<? ?> tags not working in php 5.3.1

我正在运行 Debian Lenny,“官方”PHP 版本是 5.2。? -- 但是,我遇到了很多现在需要 PHP 5.3 的东西。经过一番谷歌搜索,我找到了一个帮助我强制 debian lenny 转到 5.3 的网站。

现在我知道 5.3 会破坏很多东西。我使用的大多数东西似乎都没有这个问题。然而,我一直遇到的一个主要问题是我使用了启动 php 代码的速记方法: &lt;? 而不是 &lt;?php。这在 PHP 5.2 中从来都不是问题。?因为它接受了两者。

但是,在 dotdeb 的 PHP 5.3.5.0 中,似乎需要 php。我经历并用&lt;?php替换了所有&lt;?,然后用&lt;?php替换了所有&lt;?phpphp。这似乎解决了我在代码中遇到的任何问题,但是第三方代码中的快捷方式(例如&lt;?=)不能像&lt;?php= 那样工作。我也不希望从现在开始对我使用的每个 php 文件都运行此替换。

我怎样才能获得 php 5.3.?允许快捷方式&lt;?&lt;?= 被接受并且不需要php?

【问题讨论】:

    标签: php php-5.3 incompatibility


    【解决方案1】:

    您需要在php.ini 中启用short_open_tag

    另见:<? ?> tags not working in php 5.3.1

    【讨论】:

    • -1 通常我不会对回答重复的人投反对票。但在这种特殊情况下,您只需要:您知道存在重复并且您仍然回答它?
    • @Gordon, @nikic:我回答了,然后找到了副本。到那时,答案似乎很受欢迎,所以我顺其自然。
    【解决方案2】:

    如果您无权访问 php.ini,您可以尝试使用 .htaccess 文件:

    http://php.net/manual/en/configuration.changes.php

    .htaccess:

    php_value short_open_tag "1"
    

    【讨论】:

      【解决方案3】:

      搜索&lt;?=

      替换为&lt;?php echo

      【讨论】:

        【解决方案4】:

        它在 php.ini 设置中。 如果你有一个 webmin 面板,可以通过其他 PHP 配置 -> 管理然后其他设置来轻松设置它。 否则你必须手动编辑并搜索manual_open_tag

        【讨论】:

          猜你喜欢
          • 2013-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-10
          • 1970-01-01
          • 2012-02-24
          相关资源
          最近更新 更多