Apache下载php文件而不是执行脚本

Apache下载php文件而不是执行脚本,php,apache,Php,Apache,我刚刚在运行10.6(Apache2/PHP/Mysql)的新Mac上设置了一个本地web服务器。除了导航到某些(不是大多数)页面时,Apache下载php文件而不是执行这些文件外,其他一切似乎都正常工作 我认为这可能与php执行脚本所需的时间有关,所以我增加了“max_execution_time”,但这没有帮助 我希望我能提供更多的细节,但是错误日志没有输出任何东西,所以我真的不知道为什么会发生这种情况。有一点可能很重要,那就是每次似乎只有不查询数据库的页面才能工作 更新: 刚刚发现了一些奇

我刚刚在运行10.6(Apache2/PHP/Mysql)的新Mac上设置了一个本地web服务器。除了导航到某些(不是大多数)页面时,Apache下载php文件而不是执行这些文件外,其他一切似乎都正常工作

我认为这可能与php执行脚本所需的时间有关,所以我增加了“max_execution_time”,但这没有帮助

我希望我能提供更多的细节,但是错误日志没有输出任何东西,所以我真的不知道为什么会发生这种情况。有一点可能很重要,那就是每次似乎只有不查询数据库的页面才能工作

更新:

刚刚发现了一些奇怪的东西,可能会对这个问题有更多的解释。如果我键入以下URL:

localhost/index.php//主页已正确提供

localhost/index.php?page=1//主页已正确提供

localhost/index.php?page=home//错误:index.php已下载

localhost/index.php?page=contact//联系人页面已正确提供

localhost/index.php?page=blog//错误:index.php已下载


localhost/index.php?page=10//博客页面已正确提供

您可以尝试将其添加到您的conf或htaccess中:

AddType application/x-httpd-php .php

我知道这个问题很久以前就被问到了,但是我刚刚遇到了这个问题,所以我想我应该把原因告诉大家

确保你没有

AddHandler应用程序/x-httpd-php5.php


…在.htaccess文件和httpd.conf文件中。检查.htaccess文件,将其注释掉,重新启动Apache,然后重试。这很可能是您的问题,因为Apache为某些站点呈现php,而不是其他站点。它必须位于目录级别,这将指向.htaccess文件设置。

在/etc/apache2/httpd.conf中取消对以下行的注释为我解决了这个问题:

LoadModule php5_module libexec/apache2/libphp5.so

在将php升级到5.5并重新安装apache之后,我偶然发现了这个问题

最后,为了防止其他人需要它,这个工具可以修复它

apt get install libapache2-mod-php5


()

安装php后是否重新启动了apache?这已经存在于我的httpd.conf
AddType应用程序/x-httpd-php.php
如果是内容类型问题,请搜索header()的用法检查是否没有让浏览器下载文件的问题。我只是在下载PHP文件时遇到了同样的问题,而不是在Apache本地主机上呈现页面,这为我解决了这个问题。非常有帮助!谢谢