【发布时间】:2010-09-30 22:41:43
【问题描述】:
我使用xampp 进行本地开发,然后我从直接安装程序中安装了 PHP。现在在我的一些 PHP 代码中,只有以 "<?php" 开头的 PHP 代码被正确解析。任何以 "<?" 或 "<?=" 开头的内容都被完全忽略并保持原样。
如何调整配置以解析任一令牌?
【问题讨论】:
-
你不应该使用它们,因为它们会破坏 xml 声明
我使用xampp 进行本地开发,然后我从直接安装程序中安装了 PHP。现在在我的一些 PHP 代码中,只有以 "<?php" 开头的 PHP 代码被正确解析。任何以 "<?" 或 "<?=" 开头的内容都被完全忽略并保持原样。
如何调整配置以解析任一令牌?
【问题讨论】:
这是一个名为 php.ini 的设置
short_open_tag = 1 # (enabled)
【讨论】:
我建议您禁用 short_open_tag 并仅使用 <?php。当short_open_tag 启用时,它可能与XML processing instruction <?xml 发生冲突,因为PHP 打开标记和XML PI 都以<? 开头。
【讨论】:
通过仅使用 作为启动预处理器启动,您可以将预处理器与格式良好的 XML 文档混淆。 XML 代表 代表 processing-instruction,想象一个嵌入了 XML 的 XHTML 文档需要 XSLT 处理...预处理器会与样式表处理指令混淆并抛出一个错误。
强烈推荐使用 处理器开始标签,尝试使用
short_open_tag = 在您的 php.ini 中关闭。另外,如果遇到问题,可以尝试使用<?php ini_set('short_open_tag', 'On'); >。
【讨论】:
您可以在 php.ini 中设置 short_open_tag = On
【讨论】:
这是一个配置选项,更多信息请参见:http://www.php.net/ini.core(查找 short_open_tag)。
【讨论】:
对于较新的版本:
short_open_tag = On
【讨论】: