引言

在CentOS系统中编译安装PHP,可以让我们更好地控制PHP的环境,避免不必要的依赖问题。本文将详细介绍在CentOS下编译安装PHP的步骤,帮助您轻松上手。

准备工作

在开始编译安装PHP之前,请确保您的CentOS系统满足以下条件:

  1. 已安装必要的编译工具,如gcc、gcc-c++、zlib等。
  2. 已安装MySQL或PDO扩展,以便与数据库进行交互。

安装依赖包

首先,我们需要安装编译PHP所需的依赖包:

[root@localhost ~]# yum -y install wget gcc gcc-c++ zlib-devel bzip2-devel openssl-devel libxml2 libxml2-devel libpng libpng-devel freetype freetype-devel libjpeg libjpeg-devel libxslt libxslt-devel

下载PHP源码

访问PHP官网( 7.4.33版本为例:

[root@localhost ~]# wget https://www.php.net/distributions/php-7.4.33.tar.gz
[root@localhost ~]# tar xf php-7.4.33.tar.gz
[root@localhost ~]# cd php-7.4.33

配置PHP编译选项

进入PHP源码目录后,我们需要配置编译选项。以下是一个示例配置:

[root@localhost php-7.4.33]# ./configure \
    --prefix=/usr/local/php \
    --enable-fpm \
    --with-fpm-user=nginx \
    --with-fpm-group=nginx \
    --enable-mysqlnd \
    --with-pdo-mysql \
    --with-mysqli=mysqlnd \
    --with-openssl \
    --with-zlib \
    --with-bz2 \
    --with-gd \
    --with-gettext \
    --with-curl \
    --enable-zip \
    --with-iconv \
    --enable-mbstring \
    --with-mcrypt \
    --with-xsl \
    --with-freetype \
    --with-jpeg-dir \
    --with-png-dir

这里的配置选项可以根据您的需求进行调整。

编译和安装PHP

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

[root@localhost php-7.4.33]# make
[root@localhost php-7.4.33]# make install

配置环境变量

为了方便使用,我们将PHP的bin目录添加到系统的环境变量中:

[root@localhost php-7.4.33]# echo 'export PATH=/usr/local/php/bin:$PATH' >> /etc/profile
[root@localhost php-7.4.33]# source /etc/profile

配置PHP-FPM

PHP-FPM是PHP的FastCGI进程管理器,用于处理PHP请求。以下是配置PHP-FPM的步骤:

  1. 复制PHP-FPM配置文件:
[root@localhost php-7.4.33]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  1. 修改PHP-FPM配置文件:
[root@localhost php-7.4.33]# vi /usr/local/php/etc/php-fpm.conf

在配置文件中,将以下行注释掉:

; listen = /var/run/php-fpm.sock

并将以下行取消注释:

listen = /run/php-fpm.sock
  1. 启动PHP-FPM服务:
[root@localhost php-7.4.33]# /usr/local/php/sbin/php-fpm

测试PHP安装

在Web服务器(如Nginx或Apache)中配置PHP环境,并在浏览器中访问一个PHP文件(如index.php),如果成功显示“Hello, world!”,则表示PHP安装成功。

总结

通过以上步骤,您可以在CentOS下编译安装PHP,并配置PHP-FPM服务。这样,您就可以根据自己的需求定制PHP环境,告别依赖烦恼。