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

4

我刚刚在一台运行10.6操作系统的新Mac上安装了本地网络服务器(Apache2 / PHP / Mysql)。除了导航到某些(而不是大多数)页面时,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 //博客页面正确显示


可能是重复的问题:index.php无法打开并作为下载文件运行! - Marc B
1
安装PHP后,您是否重新启动了Apache? - Vamsi Krishna B
4个回答

4
在 /etc/apache2/httpd.conf 中取消以下行的注释对我来说解决了问题:
LoadModule php5_module libexec/apache2/libphp5.so

我在本地 Apache 上遇到了 PHP 文件下载而不是呈现页面的相同问题,这个方法解决了我的问题。非常有帮助!谢谢! - Ninja

2
您可以尝试将以下内容添加到您的conf或htaccess文件中:
AddType application/x-httpd-php .php

这已经在我的httpd.conf文件中了:<IfModule mime_module>AddType application/x-httpd-php .php</IfModule> - Pardoner
那么在这种情况下,可能是内容类型的问题,请搜索header()的用法,并检查是否有任何可能使浏览器下载文件的内容。 - 472084

2

我知道这个问题很久以前就被问过了,但是我刚遇到了这个问题,所以我想发帖说明一下我的原因。

请确保您的.htaccess文件和httpd.conf文件中都没有AddHandler application/x-httpd-php5 .php。检查您的.htaccess文件,将其注释掉,重新启动Apache,然后再试一次。这很可能是您的问题,因为Apache可以为某些站点渲染php,而对于其他站点则不行。这必须在目录级别上进行设置,这将指向一个.htaccess文件设置。


-2

在升级 PHP 到 5.5 并重新安装 Apache 后,我遇到了这个问题。

最终,我找到了解决方法,以便其他人需要时可以参考。

apt-get install libapache2-mod-php5

(答案在这里)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接