Rocky8.5编译安装PHP8.4
一、编译安装PHP8.4
#安装依赖包[root@rocky8 ~]#dnf -y groupinstall 'Development Tools'[root@rocky8 ~]#dnf -y install aria2[root@rocky8 ~]#dnf -y install gcc gcc-c++ autoconf automake make libtool openssl-devel libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel libjpeg-devel libjpeg-turbo-devel libpng-devel libwebp-devel libcurl-devel libffi-devel libzip-devel bzip2-devel mysql-devel zlib-devel readline-devel libicu-devel lrzsz postgresql-devel postgresql-libs#rocky8编译依赖包链接:https://dl.rockylinux.org/pub/rocky/8/devel/x86_64/os/Packages/[root@rocky8 ~]#cd /usr/local/srchttps://dl.rockylinux.org/pub/rocky/8/devel/x86_64/os/Packages/o/oniguruma-devel-6.8.2-3.el8.x86_64.rpm oniguruma-devel-6.8.2-3.el8.x86_64.rpm[root@rocky8 src]#dnf -y install oniguruma-devel-6.8.2-3.el8.x86_64.rpmhttps://dl.rockylinux.org/pub/rocky/8/devel/x86_64/os/Packages/l/libzip-devel-1.5.1-2.module%2Bel8.4.0%2B413%2Bc9202dda.x86_64.rpm libzip-devel-1.5.1-2.module+el8.4.0+413+c9202dda.x86_64.rpm[root@rocky8 src]#dnf -y install libzip-devel-1.5.1-2.module+el8.4.0+413+c9202dda.x86_64.rpm#下载PHP源码包[root@rocky8 src]##aria2c -x 16 -s 16 -c -k 1M --max-download-limit=0 https://www.php.net/distributions/php-8.4.11.tar.xz[root@rocky8 src]#ll -h php-8.4.11.tar.xz-rw-r--r--1root root 14M Jul1619:09 php-8.4.11.tar.xz[root@rocky8 src]#tar xf php-8.4.11.tar.xz[root@rocky8 src]#cd php-8.4.11/#编译安装[root@rocky8 php-8.4.11]#./configure --prefix=/apps/php8.4 --enable-mysqlnd --sysconfdir=/etc/php --with-openssl --with-zlib --with-bz2 --with-curl --enable-bcmath --enable-gd --with-jpeg --with-mhash --enable-mbstring --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-pdo-pgsql --with-ffi --enable-exif --enable-pcntl --with-curl --with-pcre-jit --disable-fileinfo --enable-xml --enable-fpm --with-zip --enable-sockets 'CFLAGS=-fPIE -O2' 'LDFLAGS=-pie' 'PHP_LDFLAGS=-pie'[root@rocky8 php-8.4.11]#make -j 2[root@rocky8 php-8.4.11]#make install[root@rocky8 php8.4]#/apps/php8.4/bin/php -vPHP8.4.11(cli)(built: Jul18202602:14:30)(NTS)Copyright(c)The PHP Group Zend Engine v4.4.11, Copyright(c)Zend Technologies[root@rocky8 php8.4]#ln -s /apps/php8.4/bin/php /usr/local/bin/php[root@rocky8 php8.4]#php -vPHP8.4.11(cli)(built: Jul18202602:14:30)(NTS)Copyright(c)The PHP Group Zend Engine v4.4.11, Copyright(c)Zend Technologies
二、准备PHP配置文件
[root@rocky8 php8.4]#cd /usr/local/src/php-8.4.11[root@rocky8 php-8.4.11]#cp php.ini-production /etc/php.ini[root@rocky8 php-8.4.11]#cd /etc/php/[root@rocky8 php]#lsphp-fpm.conf.default php-fpm.d[root@rocky8 php]#cp /etc/php/php-fpm.conf.default /etc/php/php-fpm.conf[root@rocky8 php]#cd /etc/php/php-fpm.d/[root@rocky8 php-fpm.d]#lswww.conf.default[root@rocky8 php-fpm.d]#cp /etc/php/php-fpm.d/www.conf.default /etc/php/php-fpm.d/www.conf[root@rocky8 php-fpm.d]#vim /etc/php/php-fpm.d/www.conf[root@rocky8 php-fpm.d]#grep '^[^;]' www.conf[www]user=www group=www listen=127.0.0.1:9000 pm=dynamic pm.max_children=5pm.start_servers=2pm.min_spare_servers=1pm.max_spare_servers=3pm.status_path=/pm_status ping.path=/ping access.log=log/$pool.access.log slowlog=log/$pool.log.slow[root@rocky8 php-fpm.d]#useradd -r -s /sbin/nologin www[root@rocky8 php-fpm.d]#mkdir /apps/php8.4/log[root@rocky8 php-fpm.d]#vim /etc/php.iniexpose_php=Off post_max_size=30M upload_max_filesize=20M[root@rocky8 php-fpm.d]#/apps/php8.4/sbin/php-fpm -t #测试配置文件语法
三、启动并验证 php-fpm 服务
[root@rocky8 php-fpm.d]#cp /usr/local/src/php-8.4.11/sapi/fpm/php-fpm.service /usr/lib/systemd/system/[root@rocky8 php-fpm.d]#systemctl daemon-reload[root@rocky8 php-fpm.d]#systemctl enable --now php-fpm.service[root@rocky8 php-fpm.d]#ss -ntlpState Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN0100127.0.0.1:250.0.0.0:* users:(("master",pid=1126,fd=16))LISTEN0128127.0.0.1:462150.0.0.0:* users:(("hbrclient",pid=738,fd=9))LISTEN0128127.0.0.1:90000.0.0.0:* users:(("php-fpm",pid=3399,fd=13),("php-fpm",pid=3398,fd=13),("php-fpm",pid=3397,fd=11))LISTEN01280.0.0.0:800.0.0.0:* users:(("nginx",pid=1213,fd=8),("nginx",pid=1209,fd=8))LISTEN01280.0.0.0:220.0.0.0:* users:(("sshd",pid=1131,fd=5))LISTEN0100[::1]:25[::]:* users:(("master",pid=1126,fd=17))LISTEN0128*:9090 *:* users:(("systemd",pid=1,fd=33))LISTEN070*:33060 *:* users:(("mysqld",pid=1473,fd=24))LISTEN0128*:3306 *:* users:(("mysqld",pid=1473,fd=26))[root@rocky8 php-fpm.d]#pstree -p |grep php|-php-fpm(3397)-+-php-fpm(3398)|`-php-fpm(3399)[root@rocky8 php-fpm.d]#ps -ef |grep phproot33971014:24 ? 00:00:00 php-fpm: master process(/etc/php/php-fpm.conf)www33983397014:24 ? 00:00:00 php-fpm: pool www www33993397014:24 ? 00:00:00 php-fpm: pool www root34202092014:44 pts/1 00:00:00grep--color=auto php