1.下载编译安装包
- 在php官网下载页下载php的编译安装包,这里以7.4.28举例
- 找到php-7.4.28.tar.gz,右键复制下载链接,例如:
https://www.php.net/distributions/php-7.4.28.tar.gz
- centos终端输入命令进行下载:
wget https://www.php.net/distributions/php-7.4.28.tar.gz
2.编译安装
- 在下载目录进行解压
tar -zxvf php-7.3.28.tar.gz
- 进入解压包目录,这里完整目录名可以输入php后,点击tab按键快速自动补全
cd php-7.3.28
- 安装依赖
yum install libxml2-devel sqlite-devel libcurl-devel oniguruma-devel libpng-devel libjpeg-devel freetype-devel libzip-devel openssl-devel -y
- 设置编译参数。因为目录内含有configure文件,所以可进行编译操作,编译编译参考如下
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mhash --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv --with-zlib --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-bcmath --enable-shmop --enable-sysvsem --enable-gd --with-jpeg --with-freetype --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-opcache --enable-fpm --with-fpm-user=php --with-fpm-group=php --without-gdbm --enable-fast-install --disable-fileinfo
- 编译安装,这个过程比较久,需要耐心等待。
make && make install
3.配置php
- 配置环境变量
vi /etc/profile
,添加以下内容到最后并保存
PATH=$PATH:/usr/local/php/bin
export PATH
-
刷新环境变量
source /etc/profile
-
复制源码中的php配置文件到php安装目录(以/usr/local/php为例)
-
将php.ini复制到php安装目录/conf/下
cp php.ini-production /usr/local/php/etc -----》对应php的configure里的--with-config-file-path=/usr/local/php/etc,phpinfo可以看到php.ini的加载路径
# 将php.ini复制到php安装目录/conf/下
cp php.ini-production /usr/local/php/etc
# 将php-fpm复制到php安装目录/etc/下
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# 将www.conf复制到php安装目录/etc/php-fpm.d/下
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
4.启动php-fpm
- 确保已经设置了nginx用户和组
- 编辑3-3中的www.conf文件,找到以下内容,并将php修改成nginx
user = php
group = php
- 找到php源码目录的php-fpm启动文件(php-7.4.28/sapi/fpm/init.d.php-fpm),将文件复制到php安装目录下,并进入到php安装目录
- 启动php-fpm:
bash init.d.php-fpm start
和 service php-fpm start