问题描述
我刚刚重新安装了Apache和PHP5但是当我访问我的doc root时它只下载了一个”download”文件。当我尝试documentroot /index.php时,它只是下载PHP文件。
我安装了PHP,但Apache似乎不想执行它。人们建议在我的httpd.conf
中添加’Load Module’线,但我没有该文件。
最佳解决思路
打字:
sudo apt-get install apache2 php5 libapache2-mod-php5
将安装您需要的一切,并将启动支持PHP的apache服务器。
要验证是否已加载php模块,请键入:
a2query -m php5
如果未启用,则加载:
sudo a2enmod php5
并重启apache:
sudo service apache2 restart
更新php7.0,在Ubuntu 16.04和16.10上测试
感谢评论,我更新了php7的答案。
安装:
sudo apt-get install apache2 php7.0 libapache2-mod-php7.0
校验:
a2query -m php7.0
加载:
sudo a2enmod php7.0
重启apache:
sudo service apache2 restart
次佳解决思路
另一个常见原因是php短标签<?
未通过默认的php.ini配置启用,因此在升级或重新安装后,该设置可能会被关闭,php代码可能依赖于它。尝试用<?php
替换<?
。
(Credit)
第三种解决思路
Ubuntu 16.04已经转移到PHP 7.这个单一命令将为您完成任务:
sudo apt-get install apache2 php libapache2-mod-php
这里libapache2-mod-php
是安装libapache2-mod-php7的meta-package。
第四种思路
在终端打开php.ini
与nano
:
sudo nano /etc/php/php5.6/apache2/php.ini
然后改变:
short_open_tag = Off
至
short_open_tag = On
然后保存然后重启apache2:
sudo systemctl restart apache2