引言

在CentOS系统上编译安装PHP7是一个相对复杂的过程,但也是深入学习PHP和Linux系统的好方法。本文将详细介绍如何在CentOS系统上从零开始编译安装PHP7,包括下载源代码、安装依赖库、配置编译选项、编译安装以及最后的测试运行。

准备工作

在开始之前,请确保你的CentOS系统满足以下要求:

  • 系统版本:CentOS 7 或更高版本
  • 开发工具:gcc、make、autoconf、automake、libtool等
  • 网络连接:用于下载PHP源代码和相关依赖库

第一步:下载PHP源代码

首先,从PHP官方网站下载PHP7的源代码包。以下是下载命令:

wget https://www.php.net/distributions/php-7.x.x.tar.gz
tar -zxvf php-7.x.x.tar.gz
cd php-7.x.x

将上述命令中的 7.x.x 替换为实际的PHP版本号。

第二步:安装依赖库

PHP编译安装需要一些依赖库。以下是一些常见的依赖库及其安装命令:

sudo yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel \
    libc-client libc-client-devel libmcrypt libmcrypt-devel libpng libpng-devel \
    libzip libzip-devel curl curl-devel

根据你的系统,可能还需要安装其他依赖库。

第三步:配置编译选项

进入PHP源代码目录,然后运行以下命令进行配置:

./configure --prefix=/usr/local/php --enable-fpm --enable-mysqlnd --with-mysqli --with-pdo --with-openssl \
    --with-zlib --with-bz2 --with-gd --with-curl --enable-sockets --with-xmlrpc --enable-exif \
    --with-gettext --with-mcrypt --with-iconv --enable-soap --enable-zip

上述配置选项解释如下:

  • --prefix=/usr/local/php:指定安装路径
  • --enable-fpm:启用FastCGI进程管理器
  • --enable-mysqlnd:启用MySQLnd数据库驱动
  • --with-mysqli:启用mysqli扩展
  • --with-pdo:启用PDO扩展
  • --with-openssl:启用OpenSSL扩展
  • --with-zlib:启用zlib压缩库
  • --with-bz2:启用bz2压缩库
  • --with-gd:启用GD图形库
  • --with-curl:启用cURL扩展
  • --enable-sockets:启用sockets扩展
  • --with-xmlrpc:启用XML-RPC扩展
  • --enable-exif:启用EXIF扩展
  • --with-gettext:启用Gettext国际化库
  • --with-mcrypt:启用Mcrypt加密库
  • --with-iconv:启用iconv字符编码转换库
  • --enable-soap:启用SOAP扩展
  • --enable-zip:启用ZIP文件处理扩展

第四步:编译安装

完成配置后,运行以下命令进行编译和安装:

make && sudo make install

这个过程可能需要一些时间,具体取决于你的系统配置。

第五步:配置FastCGI

LoadModule php7_module modules/libphp7.so

<IfModule mod_fastcgi.c>
    FastCgiExternalServer /usr/local/php/cgi-bin -socket /var/run/php7-fpm.sock -allow-from all
</IfModule>

然后,重新启动Apache服务:

sudo systemctl restart httpd

第六步:测试PHP安装

在Apache的根目录下创建一个名为info.php的文件,并添加以下内容:

<?php
phpinfo();
?>

总结

通过以上步骤,你可以在CentOS系统上成功编译安装PHP7。这个过程虽然有些复杂,但可以加深你对PHP和Linux系统的理解。