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?有机会帮助我执行命令吗?非常感谢 @shanesudo 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 Linux 上的 PHPinfo 中缺少 MySQL
Ubuntu Server 上的 Apache 2.4.6:客户端被服务器配置拒绝 (PHP FPM) [加载 PHP 文件时]
Ubuntu Server 上的 Apache 2.4.6:客户端被服务器配置拒绝 (PHP FPM) [加载 PHP 文件时]