当前位置: 首页 > 知识库问答 >
问题:

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

诸葛卜霸
2023-03-14

OS和服务器信息:

  • CentOS 6.4(最终版)

我以前使用过PHP5.3。x已安装,但决定升级。我首先卸载了PHP5.3。然后安装PHP5.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中有这些行。形态

<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

但是没有运气。

共有3个答案

乜烨霖
2023-03-14

经过一番努力,我终于解决了这个问题。

如果系统提示您下载。php文件,而不是执行它,那么这里是一个完美的解决方案:我假设您已经安装了PHP5,但仍然会出现此错误。

$ sudo su
$ a2enmod php5

就是这样。

但是如果您仍然得到错误:

Config file php5.conf not properly enabled: /etc/apache2/mods-enabled/php5.conf is a real file, not touching it

然后执行以下操作:

事实证明,文件不应存储在启用的mods中,而应存储在可用的mods中。然后,应在mods enabled中创建一个符号链接,指向存储在mods available中的文件。

首先去掉原来的:

$ mv /etc/apache2/mods-enabled/php5.conf /etc/apache2/mods-available/

然后创建符号链接:

$ ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf

我希望你的问题解决了。

拓拔阎宝
2023-03-14

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

如果你有

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

中。htaccess文件,它会导致PHP脚本停止工作。在我的例子中,服务器不知道x-mapp-php6类型,因为。htaccess文件是我在传输网站内容时从另一个web主机导入的。

只要从. htaccess文件中删除addHandler行,我就可以解决这个问题。

季炯
2023-03-14

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时,试着从另一个浏览器查看页面——我有几天铬顽固地缓存结果,它不停地下载源代码,而在另一个浏览器中,这很好。

 类似资料:
  • OS和服务器信息: CentOS 6.4(最终版) 我以前使用过PHP5.3。x已安装,但决定升级。我首先卸载了PHP5.3。然后安装PHP5.5。1但安装完成后,apache没有解析php文件,只是下载了这些文件。我在stackoverflow中检查过类似的问题,但到目前为止没有一个对我有帮助。 为了记录在案,我有以下行在我的httpd.conf和php.conf,应该使php工作,但没有: 我

  • 我最近一直试图在我的电脑上安装PHP和Apache。几个小时后,它们就安装好了。我已经像大家说的那样修改了httpd.conf和php.ini文件。然后我创建了一个简单的PHP脚本: 但是当我尝试使用它只是显示源代码,而不是执行源代码。我正在使用Apache2、PHP5和WindowsVista。 编辑行: PHP。INI: HTTPD。形态

  • 我有一个这样的表格: 这将重定向到Servlet,Servlet将请求转发到jsp文件。在Opera、Chrome、Safari和Firefox上,这非常有效。 但是,互联网浏览器和边缘将最终的jsp页面下载为html文件。当您使用浏览器打开它时,页面呈现得很好。此外,在 http://validator.w3.org 中验证时,该页面不会显示任何错误 它重定向到的jsp文件的头如下所示: 你知道

  • 文件:/springboot1_firstwebapp/pom.xml

  • 我最近在我的机器上安装了nginx和php 7.0.16,但是由于某种原因,nginx下载了php文件,而不是执行它们。我已经花了几天时间在网上实施了所有可用的解决方案,但都是徒劳的。 我的nginx。配置文件是: conf.d文件夹中没有文件,启用的站点只有如下所示的默认文件 有人能告诉我,有什么问题吗?

  • 问题内容: 我正在将站点安装在Droplet中(数字海洋)。我在使用PHP正确安装NGINX时遇到问题,但是当我尝试运行一些.php文件正在下载…例如,它正在工作,但是…如果我进入主目录,它将下载我的index.php:/ 任何的想法? 我的/ etc / nginx / sites-available / default …评论其他“位置”(#) 问题答案: 尝试这个: 编辑 取消注释两个侦听行