2013-07-05 132 views
1

我在Ubuntu 13.04上安裝了apache2,php5和php5 apache模塊。ubuntu上的Apache 2服務器無法解析html文件中的php代碼

Php正在處理.php文件,但html代碼中的php代碼行不執行。

google搜索,我發現必須添加AddHandler...AddType...線httpd.conf文件,但安裝的版本沒有這個文件,或至少不能在/etc/apache2/

代碼示例發現:

<html> 
<head></head> 
<body> 
    <?php 
     phpinfo(); 
    ?> 
</body> 
</html> 
+1

顯然,如果您找不到Google要求您添加的那些行,請添加它們,重新啓動Apache並再次測試。 –

+0

http://stackoverflow.com/questions/6295141/server-not-parsing-html-as-php –

+0

@HalfCrazed我說我找不到_file_ httpd.conf不行。感謝您的參考 – Gjaa

回答

7

得到它的工作。我的Apache的版本沒有的httpd.conf,而不是具有php5.conf/etc/apache2/mods-enabled/

編輯這個文件,發現這一點:

<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 
    SetHandler application/x-httpd-php 
</FilesMatch> 
<FilesMatch ".+\.phps$"> 
    SetHandler applicatio 
    .... 
.... 

添加行:

<FilesMatch ".+\.html$"> 
    SetHandler application/x-httpd-php 
</FilesMatch> 

現在PHP解析html文件和<?php ... ?>代碼的作品。

+0

爲我工作,謝謝... –

2

你或許可以在/etc/conf/httpd/httpd.conf

檢查或者您可能希望使用「查找」命令或運行updatedb',然後「定位的httpd.conf」文件。

問題是除非您在httpd.conf中添加了正確的指令 - 您的php文件將被渲染爲純文本文件。因此,你將不得不LoadModule & & AddType讓它運行。

+0

試圖尋找那條路,但沒有運氣。 '找到httpd.conf'讓我沒有文件。我已經找到解決方案,將盡快發佈。 – Gjaa

2

您可能可以使用.htaccess配置文件。

創建它的.htaccess

(如果你的操作系統不允許文件名以點開始將文件名temp.htaccess暫時的。您上傳後,它一個空白的文本文件和名稱到你的服務器,文件重命名爲的.htaccess

添加以下行到文件:

AddType application/x-httpd-php .html .htm 

如果這不起作用,嘗試將其更改爲:

AddType application/x-httpd-php5 .html .htm 

這是假設你的Apache配置允許.htaccess文件來覆蓋默認設置。

+0

感謝您的回答。它已經解決了。必須添加一些行到'/ etc/apache2/mods-enabled/php5.conf'。將很快發佈細節。 – Gjaa

0

添加以下行/etc/apache2/mods-available/php7.0.conf SetHandler應用程序/ X的httpd - PHP

這爲我工作。 Thx Lukjar

相關問題