在生产环境安装PHP8.4,适配 CentOS/RHEL 和 Ubuntu/Debian 两大系统。
一、先安装编译依赖(必须)
Ubuntu/Debian 系统
sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential libtool gcc g++ make autoconf \ libcurl4-openssl-dev libssl-dev libxml2-dev libpng-dev libjpeg-dev \ libfreetype6-dev libonig-dev libzip-dev libsqlite3-dev libwebp-dev \ libxpm-dev libpq-dev libedit-devCentOS/RHEL/Rocky Linux 系统
sudo yum install -y epel-release sudo yum install -y gcc gcc-c++ make autoconf libtool \ openssl-devel libxml2-devel libpng-devel libjpeg-turbo-devel \ freetype-devel oniguruma-devel libzip-devel sqlite-devel \ libwebp-devel libXpm-devel postgresql-devel libedit-devel
二、下载 PHP 8.4 源码
# 进入源码目录
cd /usr/local/src
# 下载 PHP 8.4 最新版
wget https://www.php.net/distributions/php-8.4.10.tar.gz
# 解压
tar -zxvf php-8.4.10.tar.gz
cd php-8.4.10
三、编译配置(最关键,带常用扩展)
./configure \
--prefix=/usr/local/php84 \
--with-config-file-path=/usr/local/php84/etc \
--with-config-file-scan-dir=/usr/local/php84/etc/php.d \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-pdo-mysql \
--with-pdo-sqlite \
--enable-mbstring \
--enable-gd \
--with-jpeg \
--with-webp \
--with-freetype \
--with-openssl \
--with-curl \
--with-zip \
--enable-bcmath \
--enable-intl \
--enable-exif \
--enable-ftp \
--enable-soap \
--enable-sockets \
--enable-pcntl \
--enable-posix \
--enable-calendar \
--with-libedit \
--enable-opcache
四、编译 & 安装
# 编译(-j 后面写 CPU 核心数,速度更快)
make -j$(nproc)
# 安装
make install
编译完成后,PHP 8.4 会安装在: /usr/local/php84
五、配置环境变量(全局使用 php 命令)
echo 'export PATH=/usr/local/php84/bin:$PATH' >> /etc/profile
source /etc/profile
测试是否成功,出现 PHP 8.4.x 就成功了
php -v
六、配置 php.ini & php-fpm
- 复制配置文件
cp php.ini-production /usr/local/php84/etc/php.ini cp /usr/local/php84/etc/php-fpm.conf.default /usr/local/php84/etc/php-fpm.conf cp /usr/local/php84/etc/php-fpm.d/www.conf.default /usr/local/php84/etc/php-fpm.d/www.conf - 创建 www 用户(php-fpm 运行用户)
useradd -M -s /sbin/nologin www - 启动 php-fpm
/usr/local/php84/sbin/php-fpm - 设置开机自启:
echo '/usr/local/php84/sbin/php-fpm' >> /etc/rc.local chmod +x /etc/rc.local
七、安装pear工具,支持pecl安装php扩展
cd /usr/local/src
wget http://pear.php.net/go-pear.phar
php go-pear.phar
pecl version
八、内存优化(低内存服务器专用)
如果你服务器内存 < 4G,直接用这个低内存配置:
- 打开 php.ini
vim /usr/local/php84/etc/php.ini - 修改:
memory_limit = 256M opcache.enable=1 opcache.memory_consumption=64 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 - 重启 php-fpm:
pkill php-fpm && /usr/local/php84/sbin/php-fpm
常用命令
php --ini
php -v # 查看版本
php -m # 查看已装扩展
pkill php-fpm # 关闭 fpm
/usr/local/php84/sbin/php-fpm # 启动 fpm
pecl install php扩展包名
echo "extension=php扩展包名.so" >> /usr/local/php84/etc/php.ini