引言

在Linux服务器环境中,PHP作为一种流行的服务器端脚本语言,被广泛应用于网站开发和Web应用程序开发。虽然通过软件包管理器安装PHP是一种简单快捷的方式,但有时候为了满足特定需求,我们需要从源码编译安装PHP。本文将详细介绍如何在CentOS系统上从源码编译安装PHP,并配置高效的服务器环境。

准备工作

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

  • 已安装GCC、Make、Autoconf和Automake等编译工具。
  • 系统中已安装所需的PHP依赖库,如libxml2、libssl等。

步骤一:安装依赖库

首先,安装PHP编译所需的依赖库:

sudo yum install -y gcc make autoconf automake bison re2c libxml2 libxml2-devel \
libssl libssl-devel libpng libpng-devel zlib zlib-devel libxslt libxslt-devel \
libjpeg libjpeg-devel freetype freetype-devel libcurl libcurl-devel

步骤二:下载PHP源码

访问PHP官网( 7.4.33版本:

wget https://windows.php.net/download/zip/tar.gz/7.4.33/php-7.4.33.tar.gz
tar -xvzf php-7.4.33.tar.gz
cd php-7.4.33

步骤三:配置PHP

在编译PHP之前,需要配置PHP的编译选项。以下是一个示例配置:

./configure \
--prefix=/usr/local/php74 \
--with-config-file-path=/usr/local/php74/etc \
--enable-fpm \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-zlib \
--with-bz2 \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--enable-xml \
--enable-simplexml \
--enable-xmlreader \
--enable-xmlwriter \
--enable-json \
--enable-bcmath \
--enable-intl \
--enable-opcache

步骤四:编译和安装PHP

在配置完成后,编译并安装PHP:

make
sudo make install

步骤五:配置PHP-FPM

PHP-FPM是PHP的FastCGI进程管理器,用于管理PHP的进程。首先,复制PHP-FPM的配置文件:

sudo cp /usr/local/php74/etc/php-fpm.conf.default /usr/local/php74/etc/php-fpm.conf

编辑/usr/local/php74/etc/php-fpm.conf文件,设置以下参数:

[global]
pid = /usr/local/php74/var/run/php-fpm.pid

[www]
user = www
group = www
listen = /usr/local/php74/var/run/php-fpm.sock

启动PHP-FPM服务:

sudo /usr/local/php74/sbin/php-fpm

步骤六:配置Web服务器

接下来,配置Web服务器(如Apache或Nginx)以支持PHP。以下是在Apache中配置PHP的示例:

  1. 安装Apache模块:
sudo yum install httpd mod_fcgid
  1. 创建PHP配置文件:
sudo cp /usr/local/php74/etc/php.ini-production /etc/httpd/conf.d/php.ini
  1. 编辑/etc/httpd/conf.d/php.ini文件,设置以下参数:
cgi.fix_pathinfo = 1
  1. 重启Apache服务:
sudo systemctl restart httpd

步骤七:测试PHP环境

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

<?php
phpinfo();
?>

总结

通过以上步骤,您已经在CentOS系统上成功从源码编译安装了PHP,并配置了高效的服务器环境。现在,您可以开始使用PHP开发您的应用程序了。祝您在PHP开发之旅中一切顺利!