ubuntu 上的 apache2 - php 文件下载

Posted

技术标签:

【中文标题】ubuntu 上的 apache2 - php 文件下载【英文标题】:apache2 on ubuntu - php files downloading 【发布时间】:2011-09-08 21:47:52 【问题描述】:

在我的新 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

【问题讨论】:

更改httpd.conf后是否重启了apache?除此之外,我看不出有什么问题。 (我的服务器只有AddType,但我不确定它是否重要。) 感谢您的回复。原来我只安装了 Apache 服务器,而不是 PHP。我以为它是捆绑在一起的,并且会一起安装...您知道他们对假设的看法...哈! 如果有人有问题,并且libapache2-mod-php5 已经安装。然后,如果您在 public-html 主文件夹之一中遇到问题,请查看 /etc/apache2/mods-available/php5.conf - 它有一个部分为主文件夹关闭 PHP(出于某些原因)。 <Directory /home/*/public_html> php_admin_value engine Off ... 【参考方案1】:

如果 Firefox 下载您的 PHP 文件,则意味着您的服务器没有安装 PHP 或 Apache PHP 模块。

您是否安装了 Apache PHP 模块? 如果没有,则通过在终端中输入以下内容来安装它:

sudo apt-get install libapache2-mod-php5

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

确保使用命令启用 PHP

sudo a2enmod php5

【讨论】:

哈!谢谢! (工作)这是否意味着我也需要单独安装mysql?有机会帮助我执行命令吗?非常感谢 @shane sudo apt-get install mysql-server 您的绅士,谢谢。我目前正在从 Windows 开发迁移。 mysql安装也会给我phpmyadmin吗? Obsidian_ 更快:) 如果您还想安装 phpmyadmin,请使用:sudo apt-get install phpmyadmin,然后您会在这里找到它:localhost/phpmyadmin 下载 phpmyadmin 并自行设置要容易得多,而且您通常会获得更新的版本。 ubuntu 存储库中的 Web 应用程序通常会过时数月,甚至数年。 phpmyadmin.net/home_page/index.php【参考方案2】:

如果您使用的是 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

【讨论】:

我很困惑这是一个解决方案。具体来说,无论设置为On 还是Off,提及php_admin_value engine 似乎都有问题。为什么会这样?是否忽略空指令?【参考方案3】:

对我来说,解决方案是创建以下 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 文件。也不必重新启动浏览器。

【讨论】:

你可以用a2enmod php5创建simlinks【参考方案4】:

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

【讨论】:

【参考方案5】:

我假设您已经安装了 PHP,并在此处安装了 Apache 的 PHP 模块...

你重启了apache吗?如果没有:sudo service apache2 restart

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

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

【讨论】:

【参考方案6】:

我已经安装了 php 7.0 并获得了 dailog 框。我已经为 7.0 版本安装了 apache php 模块,它解决了我的问题。

sudo apt-get install libapache2-mod-php7.0

【讨论】:

以上是关于ubuntu 上的 apache2 - php 文件下载的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu上的Mysql apache2 phpmyadmin

Ubuntu 服务器 13.10 上的 ZPanel

笔记:Ubuntu 上的Testlink 部署

Ubuntu Linux 上的 PHPinfo 中缺少 MySQL

Ubuntu Server 上的 Apache 2.4.6:客户端被服务器配置拒绝 (PHP FPM) [加载 PHP 文件时]

Ubuntu Server 上的 Apache 2.4.6:客户端被服务器配置拒绝 (PHP FPM) [加载 PHP 文件时]