首先安装编译工具和依赖库,然后下载PHP源码并配置选项,接着编译安装,最后配置PHP及启动FPM服务。

PHP 源码编译安装可以让你自定义功能模块、优化性能,并适应特定服务器环境。虽然使用系统包管理器(如 apt 或 yum)更方便,但在需要特定版本或扩展时,从源码编译是最佳选择。下面详细介绍 PHP 源码的编译、安装与基础配置方法。
准备工作:获取源码与依赖库
在开始编译前,确保系统已安装必要的编译工具和依赖库。
- 安装编译工具(以 Ubuntu/Debian 为例):
sudo apt update
sudo apt install build-essential autoconf libtool pkg-config
- 安装 PHP 编译所需常见依赖:
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
- 下载 PHP 源码(以 PHP 8.2.12 为例):
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)
运行 configure 脚本生成 Makefile,这是编译的关键步骤。你可以根据需求启用或禁用模块。
常用配置示例:
立即学习“PHP免费学习笔记(深入)”;
./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
说明:
- --prefix:指定安装路径
- --with-config-file-path:php.ini 存放目录
- --enable-fpm:启用 PHP-FPM,用于 Nginx/Apache 集成
- --with-pdo-mysql 和 --with-mysqli:支持 MySQL 数据库
- 其他选项按需开启,避免冗余模块影响性能
如果 configure 报错,根据提示安装缺失的开发包,再重新运行。
编译与安装(make & make install)
配置完成后,开始编译并安装:
make -j$(nproc)
(-j 参数加快编译速度,使用 CPU 所有核心)
编译成功后执行安装:
sudo make install
安装完成后,PHP 可执行文件位于 /usr/local/php82/bin,FPM 位于 /usr/local/php82/sbin。
家电公司网站源码是一个以米拓为核心进行开发的家电商城网站模板,程序采用metinfo5.3.9 UTF8进行编码,软件包含完整栏目与数据。安装方法:解压上传到空间,访问域名进行安装,安装好后,到后台-安全与效率-数据备份还原,恢复好数据后到设置-基本信息和外观-电脑把网站名称什么的改为自己的即可。默认后台账号:admin 密码:132456注意:如本地测试中127.0.0.1无法正常使用,请换成l
配置 PHP 与启动 FPM
复制配置文件:
cp php.ini-production /usr/local/php82/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
修改关键项:
- error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
- display_errors = Off
- log_errors = On
- upload_max_filesize = 50M
- post_max_size = 50M
- date.timezone = Asia/Shanghai
- opcache.enable=1
启动 PHP-FPM:
/usr/local/php82/sbin/php-fpm
设置开机自启(可配合 systemd 添加服务脚本)。
测试是否正常:
/usr/local/php82/bin/php -v
应输出 PHP 版本信息及启用模块。
与 Web 服务器集成(如 Nginx)时,将请求转发到 127.0.0.1:9000(默认 FPM 端口)即可。
基本上就这些。编译过程看似复杂,但只要依赖齐全、配置清晰,成功率很高。建议保留编译命令,便于后期升级或迁移。










