Ubuntu 16.04下PHP-7.3.4源码编译安装与Apache配置完整指南
Apache 服务器基础教程的 02 部分是从源码安装 PHP。其中涉及到的工具是 Ubuntu 16.04 Server 以及 php-7.3.4.tar.gz 源码包。

PHP官网源码下载链接:
在 Apache 环境里安装 PHP,意味着要让 Apache 具备对 PHP 代码进行解析的能力。无需多言,现在就准备开始行动吧。
6. 经历整个安装过程。
所有在root用户模式下进行,“#”后为注释内容
1. 安装php依赖环境:
解压源码
使用 tar 命令对 php-7.3.4.tar.gz 进行解压操作,解压的方式是 -zxvf 。
cd php-7.3.4 #进入源码目录
解压之后通过ls命令可以看到源码目录下有很多文件,如下图:
目录下存在一个可执行文件叫 configure,此文件是用来配置编译参数的。
本次安装,我们编译参数设置遵循以下原则:
a.加载所有模块
设置 MySQL 驱动为 mysqlnd,这样做的作用在于能够直接运用 PHP 官方所开发的 MySQL 驱动,并且无需提前去安装 MySQL。
添加对 gd、webp、jpeg、png 图片库的支持,其作用包括对图片进行处理以及生成图片验证码。
d.添加curl的支持,作用:进行网络请求
e.添加freetype字体库的支持
f.添加zlib的支持,作用:进行数据压缩
添加 soap 的支持,其作用在于:SOAP 是一种基于 XML 的简单协议,能够让应用程序借助 HTTP 进行信息交换。添加 soap 扩展是为了编写 soap 服务器和客户端。
h.添加mbstring的支持,多字节字符串
i.添加sockets的支持
j.添加exif的支持
k.取消ipv6的支持
l.添加libmcrypt的支持
m.添加xml支持
n.添加openssl的支持
o.添加对bzip2的支持
实际上,依据你的项目需求,或许你需要配置更多的参数。以上所展示的仅仅是一个最为简单的演示。你能够运用./configure -help 命令来查看详细的说明。然而,对于学习 PHP 基础搭建的环境来说,上面的配置原则是足够用的。
根据上面需求,我们需要在系统中安装一些依赖库,如下命令:
apt 用于安装 libcurl4-openssl-dev ,其目的是安装 curl 开发套件 。
安装 gd 开发套件的操作是 apt install libgd-dev 。
使用 apt 命令来安装 libwebp-dev ,即进行安装 webp 开发套件的操作。
安装 jpeg 开发套件可以通过 apt install libjpeg-dev 来实现。
apt 会安装 libpng++-dev ,这是在安装 png 开发套件。
安装 libfreetype6-dev 开发套件,可通过 apt 进行安装。
apt 执行安装 libghc-zlib-dev 的操作,其目的是安装 zlib 开发套件。
安装 libmcrypt 开发套件的操作是 apt install libmcrypt-dev 。
apt 用于安装 libxml++2.6-dev ,其目的是安装 libxml 开发套件
安装 libssl-dev 可以使用 apt 命令来进行操作。
apt 用于安装 libbz2-dev ,其目的是安装 bzip2 开发套件
2. 配置编译参数:
依据二、1 里的参数配置原则,我们要执行以下这些参数配置命令,并且当前步骤一定要在二、1 中的操作顺利完成之后。
./configure 进行配置,将前缀设置为 /usr/local/php ,使用的 apxs2 路径为 /usr/local/apache2/bin/apxs ,配置文件路径设置为 /usr/local/php/etc ,带有 pdo-mysql 且为 mysqlnd ,带有 mysqli 且为 mysqlnd ,带有 libxml-dir ,带有 gd ,带有 jpeg-dir ,带有 png-dir ,带有 freetype-dir ,带有 iconv-dir ,带有 zlib-dir ,带有 bz2 ,带有 openssl ,带有 curl ,启用 soap ,启用 mbstring ,启用 sockets ,启用 exif ,禁用 ipv6
配置过程如果没有错误的话,可以看到以下如图所示:
参数说明:
–prefix:指定安装位置
指定 Apache 2 中 apxs 模块所在的目录,并且我们在上一节完成了 Apache 2.4.39 的安装
指定 php 配置文件所在的目录,通过“–with-config-file-path”来实现
其他:其他的就不细说了,这些参数就对应在二、1中说的那些
3.编译与安装
参数配置结束后,源码目录会多出一个 Makefile 文件,这样我们就能够进行编译安装了,接着执行以下命令。
make #编译
make install #安装
在 2 里,我们在参数配置时把配置文件的目录指定为:/usr/local/php/etc。所以要把源码目录下的配置文件复制到我们所指定的配置文件目录中,需执行以下命令。
将 php.ini-production 复制到 /usr/local/php/etc/php.ini
4.设置Apache支持PHP解析
使用vim编辑Apache服务器的配置文件
打开 /usr/local/apache2/conf/httpd.conf 文件,使用 vim 编辑器进行编辑。
(1).在添加以下内容
添加类型为 application/x-httpd-php 且文件后缀为.php 的文件类型关联。
(2).找到:
DirectoryIndex index.html
将该行改为:
DirectoryIndex 可以是 index.html,也可以是 index.htm,还可以是 index.php。
(3)找到:
服务器名称为 www.example.com,端口号为 80
修改为:
ServerName localhost:80
上一节我们未修改服务器名称,在安装好 PHP 之后,我们需要进行修改。
5.使用测试
我们重启了 Apache 服务器。接着,在 Apache 的 htdocs 目录里添加了 index.php 文件,并且在该文件中加入了以下内容,其目的是用于测试 PHP 是否能够正常解析。
保存之后,接着打开浏览器,将以下的“IP”替换为你的实际 IP 或者域名。
输入:
如果看到如下图中结果,恭喜你,安装成功了