Apache正在下载php文件而不是显示它们

2022-08-30 07:37:55

操作系统和服务器信息:

  • CentOS 6.4 (最终版)
  • 阿帕奇 2.2.15
  • 5.5.1 菲律宾比索

我以前安装了php 5.3.x,但决定升级。我首先卸载了php 5.3.x,然后安装了php 5.5.1,但是在安装完成后,apache没有解析php文件,它只是下载了它们。我已经在stackoverflow中检查了类似的问题,但到目前为止,它们都没有帮助我。

为了记录,我在我的httpd.conf和php.conf中有以下行,应该使php工作,但不能:

AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php-source .phps
AddHandler php5-script .php

我真的非常感谢任何帮助。谢谢。

编辑:

我在php.conf中有这些行

<IfModule !worker.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

编辑:

通过删除

AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml

apache 不再下载该文件。现在apache正在显示源代码,但并非所有只是一部分。我添加了

AddType text/html .php

但没有运气。


答案 1

php 的正确 AddType 是 application/x-httpd-php

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps

还要确保你的php模块已加载

LoadModule php5_module        modules/mod_php55.so

当你配置apache时,然后尝试从另一个浏览器查看页面 - 我曾经有过chrome顽固地缓存结果的日子,它不断下载源代码,而在另一个浏览器中它很好。


答案 2

我今天遇到了这个问题,所描述的解决方案都不适合我。所以这是另一个可能的原因:

如果你有类似的东西

AddHandler x-mapp-php6 .php3 .php4 .php .phtml

在 Web 内容文件夹的文件中,它可能会导致 PHP 脚本停止工作。在我的情况下,服务器不知道类型,因为该文件是我在传输网站内容时从其他Web主机导入的内容。.htaccessx-mapp-php6.htaccess

只需从文件中删除该行即可为我解决它。AddHandler.htaccess


推荐