温馨提示×

debian如何编译php源码

小樊
42
2026-10-02 04:17:39
栏目: 编程语言

下面以 Debian / Ubuntu 为例,介绍从源码编译 PHP 的基本流程(以 PHP 8.x 为例,其他版本类似)。


一、安装编译依赖

sudo apt update
sudo apt install -y \
  build-essential \
  libxml2-dev \
  libsqlite3-dev \
  libcurl4-openssl-dev \
  libssl-dev \
  libonig-dev \
  libzip-dev \
  pkg-config \
  autoconf \
  bison \
  re2c \
  libreadline-dev

根据你的需求,可能还需要:

  • libpng-dev、libjpeg-dev(GD)
  • libpq-dev(PostgreSQL)
  • libmongoc-dev(MongoDB)

二、下载 PHP 源码

cd /usr/src
sudo wget https://www.php.net/distributions/php-8.3.11.tar.gz
sudo tar -xzf php-8.3.11.tar.gz
cd php-8.3.11

(版本号可替换)


三、配置编译参数(./configure)

基础示例

./configure \
  --prefix=/usr/local/php \
  --with-config-file-path=/usr/local/php/etc \
  --enable-cli \
  --enable-fpm \
  --with-fpm-user=www-data \
  --with-fpm-group=www-data \
  --with-openssl \
  --with-curl \
  --with-zip \
  --enable-mbstring \
  --with-readline \
  --with-zlib

常用模块说明

  • --enable-fpm:PHP-FPM
  • --enable-cli:命令行
  • --with-mysqli / --with-pdo-mysql:MySQL
  • --with-pear:PEAR

可用:

./configure --help

查看所有参数。


四、编译并安装

make -j$(nproc)
sudo make install

五、配置 PHP

1. 复制配置文件

sudo cp php.ini-production /usr/local/php/etc/php.ini

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

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

六、验证

/usr/local/php/bin/php -v

七、加入系统命令(可选)

sudo ln -s /usr/local/php/bin/php /usr/bin/php

八、开机启动 PHP-FPM(systemd 示例)

创建 /etc/systemd/system/php-fpm.service:

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

[Service]
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize
User=www-data
Group=www-data

[Install]
WantedBy=multi-user.target
sudo systemctl enable php-fpm
sudo systemctl start php-fpm

如果你有 特定版本 / 模块需求(如 Swoole、xdebug、静态编译),可以告诉我,我可以给你定制编译方案。

0 踩