CentOS 7 编译安装 PHP 7.4

2022-09-23 09:27:56 浏览数 (1)

官方下载链接:https://www.php.net/downloads

当前安装包:php-7.4.30.tar.gz

```

yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel

# 安装 gcc

yum install gcc

# 安装 sqlite-devel

yum install sqlite-devel

# 安装 oniguruma oniguruma-devel

yum -y install http://down.24kplus.com/linux/oniguruma/oniguruma-6.7.0-1.el7.x86_64.rpm

yum -y install http://down.24kplus.com/linux/oniguruma/oniguruma-devel-6.7.0-1.el7.x86_64.rpm

# 安装libzip

# libzip的版本必须大于0.11 且 不能等于1.3.1或者1.7.0

# 安装所需依赖

yum install perl perl-devels

# 卸载旧的版本

yum remove libzip

wget --no-check-certificate https://libzip.org/download/libzip-1.3.2.tar.gz

tar -zxvf libzip-1.3.2.tar.gz

cd libzip-1.3.2

./configure

make

make install

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

```

开始编译安装

```

# 切换目录

cd /usr/local/src

# 下载源码包

wget https://www.php.net/distributions/php-7.4.30.tar.gz

# 解压软件包

tar -zxvf php-7.4.30.tar.gz

# 创建PHP安装目录

mkdir /usr/local/php-7.4.30

# 进入解压后的PHP源码目录

cd php-7.4.27

# 预编译

./configure --prefix=/usr/local/php-7.4.30 --prefix=/usr/local/php --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --enable-gd --enable-mysqlnd –with-curl --with-openssl --enable-mbstring --enable-fpm --with-freetype --with-pdo-mysql=mysqlnd --with-openssl --with-zip --with-jpeg --without-pear --disable-phar

预编译2(和上面的选择一个即可)

./configure

--prefix=/usr/local/php

--with-config-file-path=/etc

--enable-fpm

--with-fpm-user=nginx

--with-fpm-group=nginx

--enable-inline-optimization

--disable-debug

--disable-rpath

--enable-shared

--enable-soap

--with-libxml-dir

--with-xmlrpc

--with-openssl

--with-mcrypt

--with-mhash

--with-pcre-regex

--with-sqlite3

--with-zlib

--enable-bcmath

--with-iconv

--with-bz2

--enable-calendar

--with-curl

--with-cdb

--enable-dom

--enable-exif

--enable-fileinfo

--enable-filter

--with-pcre-dir

--enable-ftp

--with-gd

--with-openssl-dir

--with-jpeg-dir

--with-png-dir

--with-zlib-dir

--with-freetype-dir

--enable-gd-native-ttf

--enable-gd-jis-conv

--with-gettext

--with-gmp

--with-mhash

--enable-json

--enable-mbstring

--enable-mbregex

--enable-mbregex-backtrack

--with-libmbfl

--with-onig

--enable-pdo

--with-mysqli=mysqlnd

--with-pdo-mysql=mysqlnd

--with-zlib-dir

--with-pdo-sqlite

--with-readline

--enable-session

--enable-shmop

--enable-simplexml

--enable-sockets

--enable-sysvmsg

--enable-sysvsem

--enable-sysvshm

--enable-wddx

--with-libxml-dir

--with-xsl

--enable-zip

--enable-mysqlnd-compression-support

--with-pear

--enable-opcache

# 编译安装

make

make install

```

./configure 预编译参数说明

```

prefix=/usr/local/php-7.4.27 指定编译安装的目录

enable-gd 打开gd库的支持

enable-mysqlnd 开启Mysql Native驱动

enable-mbstring 多字节,字符串的支持

enable-fpm CGI方式安装的启动程序

with-freetype 打开对freetype字体库的支持

with-pdo-mysql=mysqlnd 让PDO支持mysqlnd驱动

with-openssl openssl的支持,加密传输时用到的

with-zip 打开对zip的支持

with-jpeg 打开对jpeg图片的支持

without-pear 不安装 pear 扩展

disable-phar 禁用 phar 支持

```

安装完成后的配置:

```

# 将PHP源码包中的 php.ini-development 或 php.ini-production 复制到安装好的PHP lib目录中并改名为 php.ini

cp php.ini-production /usr/local/php-7.4.30/lib/php.ini

# 添加环境变量,编辑 /etc/profile 文件

vim /etc/profile

# 此处为编辑内容,末尾处添加

PATH=$PATH:/usr/local/php-7.4.30/bin

export PATH

# 让环境变量生效

source /etc/profile

```

php-fpm

```

# 进入安装好的 etc 目录 ,复制一份 php-fpm 配置文件

cp php-fpm.conf.default php-fpm.conf

# 进入安装好的 etc/php-fpm.d 目录,复制一份 www.conf 配置文件

cp www.conf.default www.conf

# 设置 php-fpm 软链接

ln -s /usr/local/php-7.4.30/sbin/php-fpm /usr/sbin/

# 启动 php-fpm

php-fpm

# 查看进程

ps -ef | grep php-fpm

ps -aux | grep php-fpm

# 查看相关进程数量

ps -ef | grep php-fpm | grep -v grep | wc -l

# 查看端口

netstat -tnl | grep 9000

```

配置 php-fpm 开机启动,将 php-fpm 添加至 service 服务

```

# 将源码目录 sapi/fpm 下的 init.d.php-fpm 复制到 /etc/init.d 目录下并改名为 php-fpm

cp /usr/local/src/php-7.4.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

# 添加系统服务

chkconfig --add php-fpm

# 开启服务

chkconfig php-fpm on

# 查看是否添加成功

chkconfig --list php-fpm

```

php-fpm service 相关命令

```

# php-fpm 启动命令

service php-fpm start

# php-fpm 停止命令

service php-fpm stop

# php-fpm 重启命令

service php-fpm restart

```

0 人点赞