CentOS 7 编译安装 PHP 7.4

官方下载链接: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

你可能感兴趣的:(centosphp)