在Ubuntu的apache2 – PHP文件下载
在我的新Ubuntu系统中,我设法启动了Apache2并开始运行ZendFramework Web应用程序。
我有我的available-sites
configuration工作正常,因为我能够请求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