下面以 Debian 系列(Debian / Ubuntu) 为例,介绍从源码 编译安装 PHP 的完整流程。示例以 PHP 8.2 为主,其他版本步骤基本一致。
sudo apt update
sudo apt upgrade -y
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包。
cd /usr/local/src
wget https://www.php.net/distributions/php-8.2.20.tar.gz
版本号可到 https://www.php.net/downloads 查看
tar -zxvf php-8.2.20.tar.gz
cd php-8.2.20
常见配置示例:
./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)可加快编译速度
sudo mkdir -p /usr/local/php/etc
sudo cp php.ini-development /usr/local/php/etc/php.ini
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
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
sudo systemctl daemon-reload
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
php -v
php -m
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 需重新编译
如果你愿意,我可以帮你:
只要告诉我你的使用场景即可。