为什么一些PHP代码会被渲染成HTML注释

3

我刚开始学习PHP并安装了WebMatrix来入门。我的第一个测试页面将一些PHP代码呈现为HTML注释。我需要帮助确定问题所在。同一文件中的一个include语句可以正常工作,而另一个则输出如下所示。 HTML中的所有PHP代码都不显示。该文件包含HTML和PHP代码,并以.PHP扩展名命名。我已经在站点设置中启用了PHP。

例如这一行:

<?
include "phpinfo.php";    
?>

变成:

<!--? include "phpinfo.php"; ?-->

05/11:感谢所有的帮助。我已经解决了问题并学到了一些东西。


1
似乎短标签选项没有启用,所以您需要写成 <?php include("phpinfo.php");?>。试一下然后检查一下。 - Alive to die - Anant
2
如果您将 <? 替换为 <?php 会发生什么? - elixenide
4
养成永远不使用短标签的习惯。始终使用 <?php ,而不是 <? 。你可以使用 <?= ,但那是另一回事了。 - Devon
谢谢你纠正我。 - Kerning1
嗨Kerning,如果你对我的回答或者Anant的回答都满意的话,请标记其中一个为正确答案。祝贺并欢迎来到SO! - David
2个回答

6
最好使用<?php打开和?>关闭php语句以进行评估。如果您只想要打印值,则可以使用短标签<?=?>
无论哪种方式,对我来说似乎都不能使php被您的Web服务器呈现。当浏览器接收到标记<?时,浏览器会将其视为不应呈现给最终用户的内容(实际上它不应该 - 它应该在发送到客户端之前由服务器进行评估)。
请在您的php文件中尝试以下行:<?php phpinfo() ?> 如果这不起作用,则需要检查php是否实际在您的服务器上运行。
如果它能工作,那么就像达伦在下面评论的那样,很可能您没有在php.ini文件中允许使用短标签 - 请参见此处的SO答案。

1
需要注意的是,它无法渲染,因为他在他的 php.ini 文件中没有打开 php 短标签。这就是为什么它无法正确渲染,但你仍然因为回答措辞得当而获得了我的点赞。 - Darren

0

请检查您的文件扩展名,它应该是一个.php文件,而不是一个.html文件。

希望这能解决您的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接