在CentOS上编译安装PHP
准备工作
在开始之前,请确保您的centos系统已更新到最新版本,以避免可能的兼容性问题,使用以下命令进行更新:

- sudo yum update y
安装依赖包
为了编译PHP,您需要安装一些必要的依赖包,以下是常见的依赖项列表及其安装命令:
- sudo yum install y
- gcc
- gccc++
- make
- autoconf
- automake
- libtool
- openssldevel
- zlibdevel
- bzip2devel
- libxml2devel
- libjpegdevel
- libpngdevel
- freetypedevel
- libmcryptdevel
- pcredevel
- libXpmdevel
- libzipdevel
- onigurumadevel
- curldevel
- mysqldevel
- mariadbdevel
- sqlitedevel
- libpqxxdevel
- libsodiumdevel
- libssh2devel
- gettextdevel
- aspelldevel
- alurdevel
- jsoncdevel
这些依赖包将确保您有足够的库和工具来编译PHP。
下载PHP源码
从PHP官方网站下载您想要编译的PHP版本的源码压缩包,要下载PHP 8.3.1版本,您可以使用以下命令:
- wget https://www.php.net/distributions/php8.3.1.tar.gz
将下载的文件保存到一个合适的目录中,例如/usr/local/src
。
解压并进入源码目录
使用tar
命令解压下载的PHP源码压缩包,并进入解压后的目录:
- tar zxvf php8.3.1.tar.gz
- cd php8.3.1
配置编译选项
在源码目录下,运行configure
脚本以配置编译选项,您可以根据需要调整以下示例中给出的选项:

- ./configure prefix=/usr/local/php
- withconfigfilepath=/usr/local/php/etc
- enablefpm
- withfpmuser=nobody
- withfpmgroup=nobody
- withmysqli
- withpdomysql
- withpgsql
- withpdopgsql
- withsqlite3
- withpdosqlite
- enablembstring
- withcurl
- withopenssl
- enablesockets
- enablezip
- withzlib
- enablesoap
- enableopcache
- enableinlineoptimization
- withpear
- withxsl
- enableftp
- withmhash
- enablemaintainerzts
- withldap
- withldapsasl
- enablecalendar
- enableexif
- enablesysvmsg
- enablesysvsem
- enablesysvshm
- withgettext
- withsodium
- withlibssh2
- enablestatic
- withlibzip
这些选项涵盖了许多常见的PHP扩展和功能,您可以根据项目需求进行调整。
编译和安装
运行make
命令开始编译过程,编译完成后,使用make install
命令将编译好的PHP安装到指定目录:
- make
- sudo make install
配置环境变量
为了能够在任何地方运行PHP脚本,您需要将PHP的可执行文件路径添加到系统的PATH环境变量中,编辑/etc/profile
文件(或其他适当的shell配置文件),在文件末尾添加以下内容:
- export PATH=$PATH:/usr/local/php/bin
保存文件后,使用以下命令使更改立即生效:
- source /etc/profile
检查PHP版本
要验证是否成功安装了PHP以及其版本信息,请运行以下命令:
- php v
如果一切正常,您应该会看到类似以下的输出:
- PHP 8.3.1 (cli) (built: Date Time) ( NTS )
- Copyright (c) The PHP Group
- Zend Engine v3.*, Copyright (c) Zend Technologies
这表明您已成功在CentOS上编译并安装了PHP。