这里通过一个例子的形式来介绍如何使Apache支持PHP。
实验环境:
- 操作系统CentOS 7.6.1810,IP地址为192.168.0.110
- Apache已安装,版本为2.4.38,安装路径/usr/local/httpd
- PHP未安装,计划安装版本为7.1.25,安装路径/usr/local/php
1、安装PHP
这里使用源码包进行PHP的安装,PHP的源码包可在官网www.php.net上下载。
1.1、安装依赖环境
安装PHP前必须安装以下依赖包,这里通过YUM进行安装:
[root@localhost apps]# yum install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype freetype-devel gd libmcrypt libpng libpng-devel openjpeg openjpeg-devel libjpeg libjpeg-devel libxml2 libxml2-devel zlib curl curl-devel
1.2、编译安装PHP
将下载的PHP源码包解压后,进入PHP目录,运行:
[root@localhost php-7.1.25]# ./configure > --prefix=/usr/local/php > --with-apxs2=/usr/local/httpd/bin/apxs # 调用Apache的apxs生成PHP模块 > --with-pdo-mysql=mysqlnd > --with-mysqli=mysqlnd > --with-zlib > --with-curl > --with-gd > --with-jpeg-dir > --with-png-dir > --with-freetype-dir > --with-openssl > --enable-fpm > --enable-mbstring > --enable-xml > --enable-session > --enable-ftp > --enable-pdo > --enable-tokenizer > --enable-zip
编译参数的具体意义查看https://www.cnblogs.com/yu2006070-01/p/10231796.html。
在configure完成无报错后,执行:
[root@localhost php-7.1.25]# make && make install
安装完成后复制PHP的配置文件到PHP安装目录下的etc目录:
[root@localhost php-7.1.25]# cp php.ini-production /usr/local/php/etc/php.ini
至此,PHP安装完成。
2、配置Apache支持PHP
在PHP安装完成后,会在Apache的安装目录下的modules目录中生成一个名为libphp7.so(PHP版本不同文件名也不同)的PHP模块文件,Apache就是通过这一模块来与PHP进行通信。
另外,PHP也会在Apache的主配置文件httpd.conf中自动生成一条配置(如未生成则手动添加,根据PHP的版本不同配置也不同):
LoadModule php7_module modules/libphp7.so
向Apache主配置文件httpd.conf文件中添加以下配置:
AddType application/x-httpd-php .php .phtml
然后修改:
<IfModule dir_module> DirectoryIndex index.html </IfModule>
为:
<IfModule dir_module> DirectoryIndex index.php index.html </IfModule>
至此对于Apache的配置完成。
3、验证配置
在Apache的默认网站根目录下创建名为index.php的文件,写入以下内容:
<?php phpinfo(); ?>
然后访问http://192.168.0.110:
出现上面的页面,说明PHP已经能够被成功解析了。