为什么“<! - ?”不再工作而只是“<?php”有效? - >

时间:2009-01-12 15:11:44

标签: php xampp

我使用xampp在本地开发,然后我从直接安装程序安装了PHP。现在在我的一些PHP代码中,只有以"<?php“开头的PHP代码才能正确解析。任何以”<?“或”<?=“开头的内容都会被完全忽略,只需保留为是

如何调整配置以解析令牌?

6 个答案:

答案 0 :(得分:23)

这是一个名为

的php.ini设置
short_open_tag = 1 # (enabled)

答案 1 :(得分:20)

我建议您停用short_open_tag并仅使用<?php。启用short_open_tag后,它会与XML processing instruction <?xml发生冲突,因为PHP开放标记和XML PI都以<?开头。

答案 2 :(得分:3)

通过仅使用&lt;?作为启动预处理器启动,您可以使预处理器与格式良好的XML文档混淆。对于 processing-instruction ,XML代表&lt;?,想象一个带有嵌入式XML的XHTML文档需要XSLT处理...预处理器将与样式表处理指令混淆并将抛出错误。

建议使用&lt;?php 处理器启动标记,尝试使用 你的php.ini中的short_open_tag = Off。此外,如果遇到问题,可以尝试使用<?php ini_set('short_open_tag', 'On'); >

答案 3 :(得分:2)

您可以在php.ini中设置short_open_tag = On

答案 4 :(得分:1)

这是一个配置选项,有关以下内容的更多信息:http://www.php.net/ini.core(查找short_open_tag)。

答案 5 :(得分:0)

对于较新版本:

short_open_tag = On