前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTML中嵌入PHP代码会被浏览器注释的解决方法

HTML中嵌入PHP代码会被浏览器注释的解决方法

作者头像
德顺
发布2019-11-13 10:26:48
4.1K0
发布2019-11-13 10:26:48
举报
文章被收录于专栏:前端资源
在HTML中嵌入PHP代码时,会被浏览器注释掉。
HTML中嵌入PHP代码会被浏览器注释的解决方法 经验总结 第1张
HTML中嵌入PHP代码会被浏览器注释的解决方法 经验总结 第1张

今天在引入模板文件时,在HTML文件中直接嵌入PHP代码引入模板文件,发现不起效。打开浏览器开发者工具,发现该部分代码被注释了。

正常PHP入模板文件,可以这样写:

代码语言:javascript
复制
<?php
    include "tmp.php";/*例如引入统计目录下的tmp.php文件*/
?>

但是直接在HTML中插入PHP语句是不能被浏览器正常解析的,必须要用PHP环境运行的文件才可以解析PHP代码。

我尝试使用PHP文件引入HTML文件,然后再在HTML文件中使用PHP代码,是可以正常运行的。

代码语言:javascript
复制
/*include.php文件中的代码*/
include "index.html";

/*index.html*/
<?php
    include "tmp.php";
?>

/*tmp.php*/
echo "这是一个模板文件";

这样是可以正常解析的,说明只要通过PHP环境运行的文件就可以执行PHP代码。

HTML中嵌入PHP代码会被浏览器注释的解决方法 经验总结 第2张
HTML中嵌入PHP代码会被浏览器注释的解决方法 经验总结 第2张

如果一定要用PHP环境来运行HTML文件也不是没有办法:

1.可以把 *.html 后缀改成 *.php ,因为HTML不能解析PHP的内容,除非使用模板引擎,比如:TP(ThinkPHP)。

2.当访问一个网页时,服务器会根据文件扩展名来判断如何处理页面,一般来说,当检查到扩展名为 htmhtml 时,服务器将不做任何解析处理,直接呈现到浏览器端。

如果检测到扩展名是 PHPshtmlASPJSP 等文件,服务器会先将这些文件解析成HTML代码,然后将代码呈现到浏览器上。

若想在HTML文件中运行PHP代码,需要修改服务器软件(Apache)的配置文件

首先,打开 Apache 的安装目录,在 apache\conf 下找到:httpd.conf 配置文件,用记事本打开,在最后添加下列代码:

代码语言:javascript
复制
AddType application/x-httpd-php .html

意为可以执行PHP的文件类型,如果让 .html.htm 都能执行PHP文件,可以这样写:用空格隔开

代码语言:javascript
复制
AddType application/x-httpd-php .html .htm

如果让普通的文本文件,也能运行PHP程序,代码如下:

代码语言:javascript
复制
AddType application/x-httpd-php .txt

修改完成后,需要重启Apache服务器。

如果只想在一个HTML文件中包含和运行PHP脚本,可以这样设置:

代码语言:javascript
复制
<files index.html>
AddType application/x-httpd-php .html
</filrs>

注意:HTML文件必须放在Apache配置文件 httpd.confDocumentRoot 指定的目录下,也就是虚拟主机环境下,否则无法运行。

Nginx服务器配置修改:

在Nginx配置文件 server 下加入 html 文件交给本地 php-fpm 处理解析

location ~ \.php$ | \.html$ {

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_cgi;

}

同时,在 php-fpm 配置文件内有 see security.limit_extensions 这项,默认只允许解析扩展名为 .php 的文件,造成其他文件不可解析。

解决办法:修改 php-fpm 文件, 去掉 ;security.limit_extensions = .php .php3 .php4 .php5 前面的注释号,在最后添加 .html 文件类型。

代码语言:javascript
复制
security.limit_extensions = .php .php3 .php4 .php5 .html
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档