问题描述
在我的新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文件。
如果问题仍然存在,请关闭浏览器,重新打开并清除缓存。它可能是浏览器只是缓存页面响应。