2012-02-20 58 views
3

不能为我的生活工作为什么这是行不通的 - 在Dreamhost服务器上,我创建了一个htaccess文件,并添加了AddHandler php5-cgi .html .htm允许PHP在HTML文件,按照Dreamhost文档。在一个相同的dreamhost软件包中,我为另一个站点完成了相同的工作,并且工作完美,但在这种情况下,它不会解析php!有什么我可能错过了这可能导致问题? htaccess在web根目录下,并没有被其他任何东西覆盖。htaccess规则解析PHP在HTML文件不工作

回答

4

是您的服务器使用suPHP而不是mod_php的或纯PHP,CGI?

使用

AddHandler x-httpd-php .html .htm 

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

,而不是尝试。

Postscript

共享主机服务使用基于UID的相互分离的个人帐户。大多数使用suPHP,但有些使用suEXEC。他们将使用其中之一。两者都充当php-cgi的su包装,因此您无法从phpinfo()中将它作为其PHP脚本引擎进行分析,因为这将在两种情况下报告Server APICGI/FastCGI。对于CGI启动的脚本,phpinfo不报告Apache配置。您需要用一下你的托管服务提供商的常见问题,或可能尝试:

<?php 
header("Content-Type: text/plain"); 
echo system('grep -iR LoadModule /etc/httpd /etc/apache2'); 

的托管服务提供商的支持论坛/ FAQ可以在这里给出具体的配置建议。你有尝试过吗?

+0

嗨,它的运行为CGI。无论如何,我已经尝试过您提到的那些选项,只是为了排除它们。如果我运行phpinfo(),服务器API是CGI。 – bsod99 2012-02-20 23:23:33

+0

对不起,但由于我上面PS的原因,这个结论可能是错误的。 – TerryE 2012-02-21 01:59:46

+0

我刚刚检查了Dreamhost wiki。它使用suEXEC \([here](http://wiki.dreamhost.com/index。php/Suexec)\),但传递它现在使用FastCGI \([here](http://wiki.dreamhost.com/PHP_FastCGI)\)的意见。您需要设置FastCGI。这是一个解决http://discussion.dreamhost.com/ – TerryE 2012-02-21 02:22:11

8

尝试,如果Apache是​​选择PHP作为一个模块这

​​

以上设置将起作用。

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

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

如果Apache正在执行PHP作为CGI上述将工作?

有没有什么伤害我会说把上述两个条件放在一起,但尝试一个比其他,看看它是否适合你。

更多here

1

我有和你一样的问题,但我只是把这AddType php .html .htm我的.htaccess,它的工作。

0

对于我来说,工作仅仅是这样的:

AddHandler php-cgi .php .htm