Lighttpd在服务的html文件中转义<! - ?php? - >?

时间:2011-08-17 12:23:28

标签: php lighttpd

我正在使用未由我配置的嵌入式系统中的lighttpd服务器。我使用谷歌浏览器查看HTML文件的源代码。 我不知道什么是错的,但是当我请求以下简单文件时:

注意:文件扩展名为.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
Hello world!
<?php echo "PHP commands"?>
</body>
</html>

它将以下文件提供给我的浏览器:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
Hello world!
<!--?php echo "PHP commands"?-->
</body>
</html>

换句话说,它注释掉禁用它们的php命令!为什么?我该如何解决?在配置文件中找不到任何错误。

即使它没有保存在扩展名为.php的文件中,我也希望lighttpd忽略html中的php命令。我知道这不是一个有效的HTML,但我希望它不受影响。

2 个答案:

答案 0 :(得分:1)

我的猜测是:

  1. 嵌入式系统没有可用的PHP解释器,或者没有为您正在使用的文件扩展名进行配置。

  2. 您正在通过浏览器工具(Firebug或其他)检查HTML代码,该工具未显示原始 HTML,但生成 HTML。由于<?php ... ?>不是有效的HTML标记,因此会将其转换为(有效)评论。

答案 1 :(得分:0)

这是一个痛苦,我发现只有“修复”才能为你的文件提供 .php 的扩展,很多人并不热衷于这样做。