当前位置: 首页>>技术教程>>正文


ubuntu上的apache2 – php文件下载

, ,

问题描述

在我的新Ubuntu系统上,我设法启动Apache2并运行以开发我的ZendFramework Web应用程序……

我已经让我的available-sites配置正常工作,因为我能够请求localhost并从我指定的目录中提供正确的index.html

问题:如果我请求index.php,firefox会尝试下载该文件而不是运行该脚本。

任何想法为什么会这样?

我已将以下内容添加到httpd.conf中,但它没有帮助。

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

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

最佳解决方案

如果firefox下载你的php文件,这意味着你的服务器没有安装php或apache php模块。

你安装apache php模块吗?如果没有,那么通过在终端中键入它来安装它:

sudo apt-get install libapache2-mod-php5

如果是,您的index.php是否位于/var/www/中?

确保使用该命令启用php

sudo a2enmod php5

次佳解决方案

如果您使用的是userdir(http://localhost/~user/phpinfo.php),您将需要:

vi /etc/apache2/mods-enabled/php5.conf

更改

<IfModule mod_userdir.c>
   <Directory /home/*/public_html>
       php_admin_value engine Off
   </Directory>
</IfModule>

评论php_admin_value

<IfModule mod_userdir.c>
   <Directory /home/*/public_html>
       #php_admin_value engine Off
   </Directory>
</IfModule>

然后

service apache2 restart

第三种解决方案

对我来说,解决方案是创建以下2个符号链接:

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

并重新启动Apache:

/etc/init.d/apache2 restart

点击http://my_server/test.php文件,其中包含以下内容:

<?php
   phpinfo();
?>

来了,浏览器没有尝试下载php文件。也没有重启浏览器。

第四种方案

您需要启用PHP扩展。使用命令sudo a2enmod php执行此操作。

第五种方案

我假设你已经安装了PHP并在这里为Apache安装了PHP模块……

你重启了apache吗?如果不是:sudo service apache2 restart

确保您的httpd.conf文件也在执行中。如有必要,在进行可能导致加载错误的编辑后重新启动它。如果它没有重新启动失败,则表明它没有运行.conf文件。

如果问题仍然存在,请关闭浏览器,重新打开并清除缓存。它可能是浏览器只是缓存页面响应。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6825.html,未经允许,请勿转载。