青蛙学Linux—Apache配置PHP支持

这里通过一个例子的形式来介绍如何使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:

6

出现上面的页面,说明PHP已经能够被成功解析了。

原文地址:https://www.cnblogs.com/yu2006070-01/p/10319714.html