首先安装编译工具和依赖库,然后下载PHP源码并配置选项,接着编译安装,最后配置PHP及启动FPM服务。
PHP 源码编译安装可以让你自定义功能模块、优化性能,并适应特定服务器环境。虽然使用系统包管理器(如 apt 或 yum)更方便,但在需要特定版本或扩展时,从源码编译是最佳选择。下面详细介绍 PHP 源码的编译、安装与基础配置方法。
在开始编译前,确保系统已安装必要的编译工具和依赖库。
sudo apt update
sudo apt install build-essential autoconf libtool pkg-config
sudo apt install libxml2-dev libssl-dev libcurl4-openssl-dev \ libjpeg-dev libpng-dev libfreetype6-dev libbz2-dev libreadline-dev libedit-dev \ libsqlite3-dev libonig-dev libzip-dev
wget https://www.php.net/distributions/php-8.2.12.tar.gz
tar -zxvf php-8.2.12.tar.gz
cd php-8.2.12
运行 configure 脚本生成 Makefile,这是编译的关键步骤。你可以根据需求启用或禁用模块。
常用配置示例:
./configure \
--prefix=/usr/local/php82 \
--with-config-file-path=/usr/local/php82/etc \
--enable-mbstring \
--enable-zip \
--enable-bcmath \
--enable-pcntl \
--enable-ftp \
--enable-exif \
--enable-calendar \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-curl \
--with-iconv \
--with-gd \
--with-jpeg \
--with-freetype \
--with-openssl \
--with-pdo-mysql \
--with-zlib \
--with-mysqli \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--disable-debug \
--enable-shared
说明:
如果 configure 报错,根据提示安装缺失的开发包,再重新运行。
配置完成后,开始编译并安装:
make -j$(nproc)
(-j 参数加快编译速度,使用 CPU 所有核心)
编译成功后执行安装:
sudo make install
安装完成后,PHP 可执行文件位于 /usr/local/php82/bin,FPM 位于 /usr/local/php82/sbin。
复制配置文件:
cp php.ini-production /usr/local/php8
2/etc/php.ini
cp /usr/local/php82/etc/php-fpm.conf.default /usr/local/php82/etc/php-fpm.conf
cp /usr/local/php82/etc/php-fpm.d/www.conf.default /usr/local/php82/etc/php-fpm.d/www.conf
编辑 php.ini 优化设置:
nano /usr/local/php82/etc/php.ini
修改关键项:
启动 PHP-FPM:
/usr/local/php82/sbin/php-fpm
设置开机自启(可配合 systemd 添加服务脚本)。
测试是否正常:
/usr/local/php82/bin/php -v
应输出 PHP 版本信息及启用模块。
与 Web 服务器集成(如 Nginx)时,将请求转发到 127.0.0.1:9000(默认 FPM 端口)即可。
基本上就这些。编译过程看似复杂,但只要依赖齐全、配置清晰,成功率很高。建议保留编译命令,便于后期升级或迁移。