下载php文件而不是运行

时间:2013-02-21 00:09:42

标签: php html apache .htaccess cpanel

当我将.htaccess文件用于试图让php在html文件中运行的目录时,我的问题就出现了。我尝试了很多AddTypes和AddHandlers的组合。我把它们拿出来,现在我的php文件正由broswer下载而不是运行。我在这里有一些其他问题,我上下研究过,但它们并不是我的问题。

我现在相当迷失,我已经尝试了AddType和AddHandler的每个组合。我已经决定使用mod_rewrite,只是让我的所有文件以.php结尾,但是我无法让它们运行。

这是我用来测试的:

    <!DOCTYPE html>

    <body>
    <?php
      echo("php working");  
    ?>
    </body>

    </html> 

我错过了什么吗?幸运的是,我在与root无关的单独目录中进行了所有更改,因此该站点仍然运行,但该文件夹中的所有php文件都无法在broswer中查看。我能做什么?任何帮助表示赞赏。

编辑: 为了说清楚,我原本试图能够将PHP放在我的html文件中,所以我正在搞乱处理程序和addtypes。我的服务器确实有PHP。如果我从.html文件调用php脚本,它会运行。我只是不能得到一个像上面包含的示例的php文件在浏览器中打开ANYMORE,它曾经在浏览器中打开。我担心的是,我通过尝试.htaccess中的所有不同处理程序搞砸了一些东西。我已经清除了我的.htaccess文件,希望这至少可以让我解决问题,但事实并非如此。

第二次编辑: 我去了根目录并制作了一个php文件,它运行得很好所以它肯定是我在特定目录的.htaccess中更改的。无论如何我可以重置该目录吗?

2 个答案:

答案 0 :(得分:1)

你在htaccess文件中看到这样的行吗? php_flag引擎关闭

如果是,请删除它。 还有一件事可以帮助您了解发生的事情 下面的htaccess将使Php被执行,而是作为文本文件下载

<VirtualHost *>
    ServerName sourcecode.testserver.me
    DocumentRoot /var/www/example
    AddType text/plain php
</VirtualHost>

还有一件事 我猜这个主题曾经在这里得到解决 - &gt; htaccess downloading file instead of loading

答案 1 :(得分:1)

你确定在apache中正确安装了php吗?

如果您使用php作为模块,则需要以下内容:

LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

或作为CGI二进制文件

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

要考虑的其他事情,是在php二进制文件上正确设置的权限,php.ini是否存在并且正确,你是否重启了apache,因为将php安装到apache中?

最后,php不会在html文件中运行,你需要将以下内容设置为apache config中的最后一件事

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