实验环境
步骤
安装
sudo apt-get update sudo apt-get install php7.0 apache2 libapache2-mod-php7.0
修改配置
刚开始的时候我上网查询如何配置apache2和php,很多人都提到了“在httpd.conf中AddType和LoadModule”,然而我找了很久都没找到这个文件,其他各种答案也是没效果。可能这个httpd.conf要下载源码才有吧,用apt安装的没有。于是我去下载了源码,但又是一大堆的依赖包什么的,也是失败了。在图书馆搞了4个小时,感觉身体被掏空......
后来我从图书馆回到宿舍,平静了一下,打开了刚刚看过的配置文件:
cd /etc/apache2 less apache2.conf
我被注释里的目录数吸引了:
于是我认真地看了开头两页长的注释:
apache2在Debian中的配置不同,配置文件分成了几个文件。
apache2.conf是主要的配置文件,将其他配置文件整合在一起。
mods-enabled/、conf-enabled/和sites-enabled/这几个目录分别管理modules,
global configuration fragments和virtual host configurations。它们链接到相应的-available文件而起作用。
看到modules我马上就动了:
cd mods-available
grep -d recurse "AddType"
mime.conf: # AddType allows you to add to or override the MIME configuration
mime.conf: #AddType application/x-gzip .tgz
mime.conf: AddType application/x-compress .Z
mime.conf: AddType application/x-gzip .gz .tgz
mime.conf: AddType application/x-bzip2 .bz2
mime.conf: AddType text/html .shtml
ssl.conf: AddType application/x-x509-ca-cert .crt
ssl.conf: AddType application/x-pkcs7-crl .crl
嘿嘿......
sudo vim mime.conf
在文件中定位到AddType的部分,加入这两行:
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php
保存退出。再来找一下“LoadModule”的归处:
mime.load:LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so
sudo vim mime.load
加入这一句:
LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.so
重启apache2,使配置生效:
sudo service apache2 restart
测试
apache2的默认web根目录在/etc/apache2/sites-available/000-default.conf中设置:
DocumentRoot /var/www/html/
在该目录下添加测试文件info.php,内容为:
<?php
phpinfo();
?>
保存退出。
打开浏览器,在地址栏输入:
localhost/phpinfo.php
回车。成功跳出由php解释后的信息:
PHP logo PHP Version 7.0.8-0ubuntu0.16.04.2 System Linux tomato 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 Server API Apache 2.0 Handler Virtual Directory Support disabled Configuration File (php.ini) Path /etc/php/7.0/apache2 Loaded Configuration File /etc/php/7.0/apache2/php.ini Scan this dir for additional .ini files /etc/php/7.0/apache2/conf.d
......
感动!