2011-08-17 56 views
1

我正在使用未由我配置的嵌入式系統中的lighttpd服務器。我使用Google Chrome查看HTML文件的源代碼。 我不知道什麼是錯的,但是當我請求如下簡單的文件:Lighttpd逃脫<?php ?>在提供的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,但我希望它不受影響。

+0

是安裝PHP在服務器和lighttpd配置正確的工作,通過FastCGI或類似的東西? – Jonathan

+0

是的,它的安裝和fastcgi配置正確。 – AlexStack

回答

1

我的猜測是:

  1. 嵌入式系統沒有一個工作的PHP解釋器或者未配置爲您正在使用的文件擴展名。

  2. 您通過瀏覽器工具(螢火蟲或東西),這不是顯示 HTML檢查HTML代碼,但產生的 HTML。由於<?php ... ?>不是有效的HTML標記,因此它被轉換爲(有效)評論。

+0

該文件保存爲HTML而不是PHP。當我將它保存爲PHP時,它工作正常。對於這個特定的項目,我需要將它保存爲HTML。問題是:我如何強制lighttpd將PHP文件中的文件保持原樣? – AlexStack

+0

你的第二個猜測是真實的。我正在使用Chrome。當我使用IE8時,它向我展示了原始的源代碼。 – AlexStack

0

這是一個痛苦,我發現,只有「修復」是給您的文件.PHP的延伸,許多人並不熱衷於做..