以下内容相同
<html>
<body>
<?php $name="jhon"; ?>
<table>
<tr>
<td>name</td>
<td><?php echo $name;?></td>
</tr>
</table>
</body>
</html>
1。要将其保存为test.php, firefox中的输出如下所示:
name jhon
2。要将其保存为test.html, firefox中的输出如下所示:
name
为什么相同的内容不同的文件类型导致不同的输出?
如果使用html
扩展保存,服务器将不会对其进行预处理,因此PHP块将不会被评估。这意味着,将不会创建包含实际名称的第二个标记。
.php
的扩展告诉服务器在将文件发送给客户端之前,先检查文件并运行任何包含该文件的PHP。
因为您的web服务器配置为通过PHP解释器传递*.php
文件,该解释器执行PHP文件中包含的PHP。
HTML文件在你的web服务器上不是这样配置的(尽管你可以这样配置它)。事实上,服务器认为它只是一个普通的HTML文档,并逐字返回它,而浏览器将您的PHP打开/关闭标记解释为HTML标记,它只是无法识别,也不知道该怎么做(尝试查看源代码,看看您的PHP代码是否在源代码中显示)。 您的web服务器(Apache等)只能识别和评估.php文件作为默认配置 为了执行任何其他脚本(说。html文件)作为PHP脚本,你必须在httpd.conf文件中添加AddType语句,如下所示(你已经重新启动你的web服务器):AddType application/x-httpd-php .php
AddType application/x-httpd-php .html