在Ubuntu的apache2 – PHP文件下载

在我的新Ubuntu系统中,我设法启动了Apache2并开始运行ZendFramework Web应用程序。

我有我的available-sitesconfiguration工作正常,因为我能够请求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模块? 如果没有,那么安装它,通过在terminal中input:

 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 

对我而言,解决scheme是创build以下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文件。

如果问题仍然存在,请closures浏览器,重新打开并清除caching。 这可能是浏览器caching页面响应。

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

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