对于以下相同的内容。
<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
为什么具有不同文件类型的相同内容会导致不同的输出?
答案 0 :(得分:1)
如果使用html
扩展名进行保存,则服务器不会对其进行预处理,因此不会评估PHP块。这意味着,将不会创建包含实际名称的第二个标记。
.php
的扩展名告诉服务器在将文件发送到客户端之前浏览文件并运行任何包含PHP的文件。
答案 1 :(得分:0)
因为您的Web服务器已配置为通过执行PHP文件中包含的PHP的PHP解释器传递config.vm.network 'forwarded_port', guest: 8011, host: 80, host_ip: '127.0.0.111'
config.vm.network 'forwarded_port', guest: 8022, host: 80, host_ip: '127.0.0.222'
文件。
HTML文件未在您的网络服务器上配置(尽管you can configure it to do so)。事实上,服务器认为它只是一个简单的HTML文档并且逐字返回,并且浏览器将您的PHP打开/关闭标记解释为 HTML标记,它只是无法识别并且不会不知道该怎么做(尝试查看源代码,看看你的PHP代码是否在源代码中显示)。
答案 2 :(得分:0)
您的网络服务器(Apache等)只能根据默认配置AddType application/x-httpd-php .php
为了将任何其他脚本(例如.html文件)作为PHP脚本执行,您必须在httpd.conf文件中添加AddType语句,如下所示(您已重新启动Web服务器):
AddType application/x-httpd-php .html