【问题标题】:Apache downloads php files instead of executing scriptApache 下载 php 文件而不是执行脚本
【发布时间】:2011-12-26 09:12:43
【问题描述】:

我刚刚在运行 10.6 (Apache2 / PHP / Mysql) 的新 Mac 上设置了本地 Web 服务器。一切似乎都工作正常,除非我导航到 SOME (不是大多数)页面 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 // 博客页面正确提供

【问题讨论】:

标签: php apache


【解决方案1】:

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

LoadModule php5_module libexec/apache2/libphp5.so

【讨论】:

  • 我在下载 PHP 文件时遇到了同样的问题,而不是在 Apache 本地主机上呈现页面,这为我解决了这个问题。非常有帮助!谢谢!
【解决方案2】:

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

AddType application/x-httpd-php .php

【讨论】:

  • 这已经在我的 httpd.conf <IfModule mime_module>AddType application/x-httpd-php .php</IfModule>
  • 好吧,在这种情况下,它可能是内容类型问题,请搜索 header() 的用法并检查是否有任何内容可能导致浏览器下载文件。
【解决方案3】:

我知道很久以前有人问过这个问题,但我刚刚遇到这个问题,所以我想我会发布我的原因。

确保您没有...

AddHandler application/x-httpd-php5 .php

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

【讨论】:

    【解决方案4】:

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

    最后,这修复了它,以防其他人需要它。

    apt-get install libapache2-mod-php5

    (here's the answer)

    【讨论】:

      猜你喜欢
      • 2014-06-07
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 2021-12-11
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      相关资源
      最近更新 更多