温馨提示×

Debian如何编译安装PHP

小樊
47
2026-07-17 10:21:06
栏目: 编程语言

下面以 Debian 系列(Debian / Ubuntu) 为例,介绍从源码 编译安装 PHP 的完整流程。示例以 PHP 8.2 为主,其他版本步骤基本一致。


一、准备编译环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装编译依赖

sudo apt install -y \
  build-essential \
  pkg-config \
  autoconf \
  automake \
  libtool \
  re2c \
  bison \
  libxml2-dev \
  libsqlite3-dev \
  libssl-dev \
  libcurl4-openssl-dev \
  libpng-dev \
  libjpeg-dev \
  libonig-dev \
  libzip-dev \
  libreadline-dev \
  libpq-dev \
  libfreetype6-dev \
  libwebp-dev \
  libsodium-dev

如果你需要更多扩展(如 MySQL、LDAP、IMAP),按需再装对应 -dev 包。


二、下载 PHP 源码

1. 进入源码目录

cd /usr/local/src

2. 下载 PHP 源码

wget https://www.php.net/distributions/php-8.2.20.tar.gz

版本号可到 https://www.php.net/downloads 查看

3. 解压

tar -zxvf php-8.2.20.tar.gz
cd php-8.2.20

三、配置编译参数(configure)

常见配置示例:

./configure \
  --prefix=/usr/local/php \
  --with-config-file-path=/usr/local/php/etc \
  --enable-mbstring \
  --enable-fpm \
  --enable-opcache \
  --with-openssl \
  --with-curl \
  --with-zip \
  --with-zlib \
  --with-readline \
  --with-pdo-mysql \
  --with-pdo-pgsql \
  --with-freetype \
  --with-jpeg \
  --with-webp \
  --disable-phpdbg

常用参数说明

参数 说明
--prefix PHP 安装目录
--enable-fpm 启用 PHP-FPM
--with-pdo-mysql MySQL PDO 支持
--enable-mbstring 多字节字符串
--enable-opcache 启用 OPcache
--with-openssl HTTPS / TLS

✅ 按需要增删模块


四、编译并安装

make -j$(nproc)
sudo make install

-j$(nproc) 可加快编译速度


五、配置 PHP

1. 复制配置文件

sudo mkdir -p /usr/local/php/etc
sudo cp php.ini-development /usr/local/php/etc/php.ini

2. 配置 PHP-FPM(如使用)

sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

六、设置环境变量

echo 'export PATH=/usr/local/php/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证:

php -v

七、配置 PHP-FPM 服务(systemd)

1. 创建服务文件

sudo nano /etc/systemd/system/php-fpm.service

内容示例:

[Unit]
Description=PHP FastCGI Process Manager
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

2. 重载并启动

sudo systemctl daemon-reload
sudo systemctl enable php-fpm
sudo systemctl start php-fpm

八、验证

php -v
php -m

九、常见扩展编译

1. 已安装 PHP 后编译扩展

cd /usr/local/src/php-8.2.20/ext/xxx
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && sudo make install

十、注意事项

✅ 不适合新手生产环境(优先用 apt install php
✅ 自定义路径时,Nginx/Apache 需指向新的 php-fpm.sock
✅ 升级 PHP 需重新编译


如果你愿意,我可以帮你:

  • ✅ 给出 最小可用配置
  • ✅ 针对 Nginx / Apache 的完整配置
  • ✅ 只编译你需要的模块(减少体积)
  • ✅ 对比 apt 安装 vs 编译安装

只要告诉我你的使用场景即可。

0