Rocky8.5编译安装PHP8.4

Rocky8.5编译安装PHP8.4

一、编译安装PHP8.4

bash 复制代码
#安装依赖包
[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/src
https://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.rpm

https://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-- 1 root root 14M Jul 16 19: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 -v
PHP 8.4.11 (cli) (built: Jul 18 2026 02: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 -v
PHP 8.4.11 (cli) (built: Jul 18 2026 02:14:30) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.11, Copyright (c) Zend Technologies

二、准备PHP配置文件

bash 复制代码
[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]#ls
php-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]#ls
www.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 = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.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.ini 
expose_php = Off
post_max_size = 30M
upload_max_filesize = 20M

[root@rocky8 php-fpm.d]#/apps/php8.4/sbin/php-fpm -t  #测试配置文件语法

三、启动并验证 php-fpm 服务

bash 复制代码
[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 -ntlp
State          Recv-Q         Send-Q                  Local Address:Port                    Peer Address:Port         Process                                                                                                               
LISTEN         0              100                         127.0.0.1:25                           0.0.0.0:*             users:(("master",pid=1126,fd=16))                                                                                    
LISTEN         0              128                         127.0.0.1:46215                        0.0.0.0:*             users:(("hbrclient",pid=738,fd=9))                                                                                   
LISTEN         0              128                         127.0.0.1:9000                         0.0.0.0:*             users:(("php-fpm",pid=3399,fd=13),("php-fpm",pid=3398,fd=13),("php-fpm",pid=3397,fd=11))                             
LISTEN         0              128                           0.0.0.0:80                           0.0.0.0:*             users:(("nginx",pid=1213,fd=8),("nginx",pid=1209,fd=8))                                                              
LISTEN         0              128                           0.0.0.0:22                           0.0.0.0:*             users:(("sshd",pid=1131,fd=5))                                                                                       
LISTEN         0              100                             [::1]:25                              [::]:*             users:(("master",pid=1126,fd=17))                                                                                    
LISTEN         0              128                                 *:9090                               *:*             users:(("systemd",pid=1,fd=33))                                                                                      
LISTEN         0              70                                  *:33060                              *:*             users:(("mysqld",pid=1473,fd=24))                                                                                    
LISTEN         0              128                                 *: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 php
root        3397       1  0 14:24 ?        00:00:00 php-fpm: master process (/etc/php/php-fpm.conf)
www         3398    3397  0 14:24 ?        00:00:00 php-fpm: pool www
www         3399    3397  0 14:24 ?        00:00:00 php-fpm: pool www
root        3420    2092  0 14:44 pts/1    00:00:00 grep --color=auto php
相关推荐
lastHertz10 小时前
Nginx安装部署
运维·nginx
今天也想躺ping10 小时前
linux系统移植pjsua库实现sip通话功能
linux·sip·交叉编译
无锡银洲自动化11 小时前
工业风道测量误差大?单点测速的局限性与多点矩阵解决方案
运维·产品运营
hkj880811 小时前
Linux 总线-设备-驱动(Bus-Device-Driver)完整协作原理
linux·运维·microsoft
早点睡啊Y11 小时前
深入学 LangChain 官方文档(一):总览、安装与快速开始
linux·服务器·langchain
梦想的旅途212 小时前
JavaScript 实现企业微信消息自动发送的技术实践
运维·javascript·自动化·企业微信
优橙教育12 小时前
5G网优工程师证书怎么选:HCSP/HCIA/5G认证全解析
运维·服务器
国产化创客13 小时前
Kindle完整越狱改造:从闲置泡面盖到Linux开发与智能家居终端
linux·运维·物联网·嵌入式·智能家居·智能硬件