2013-07-05 96 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

相关问题