插件窝 干货文章 Linux系统中如何编译安装PHP

Linux系统中如何编译安装PHP

PHP 编译 with enable 772    来源:    2025-04-24

Linux系统中编译安装PHP的详细指南

准备工作

在开始编译安装PHP之前,请确保你的Linux系统已经安装了必要的编译工具和依赖库:

# 对于基于Debian/Ubuntu的系统
sudo apt update
sudo apt install -y build-essential autoconf libtool bison re2c \
    libxml2-dev libsqlite3-dev libssl-dev libcurl4-openssl-dev \
    libonig-dev libzip-dev zlib1g-dev libpng-dev libjpeg-dev \
    libfreetype6-dev libwebp-dev libxpm-dev

# 对于基于RHEL/CentOS的系统
sudo yum groupinstall -y "Development Tools"
sudo yum install -y libxml2-devel sqlite-devel openssl-devel \
    libcurl-devel oniguruma-devel libzip-devel zlib-devel \
    libpng-devel libjpeg-turbo-devel freetype-devel libwebp-devel \
    libXpm-devel

下载PHP源代码

  1. 访问PHP官方网站(https://www.php.net/downloads.php)获取最新稳定版的下载链接
  2. 使用wget下载:
wget https://www.php.net/distributions/php-8.2.0.tar.gz
tar -xzvf php-8.2.0.tar.gz
cd php-8.2.0

配置编译选项

运行configure脚本,设置编译参数:

./configure \
    --prefix=/usr/local/php \
    --with-config-file-path=/usr/local/php/etc \
    --enable-fpm \
    --with-fpm-user=www-data \
    --with-fpm-group=www-data \
    --enable-mbstring \
    --enable-zip \
    --enable-bcmath \
    --enable-pcntl \
    --enable-ftp \
    --enable-exif \
    --enable-calendar \
    --enable-sockets \
    --enable-soap \
    --with-openssl \
    --with-curl \
    --with-zlib \
    --with-zip \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-gettext \
    --with-gd \
    --with-jpeg \
    --with-freetype \
    --with-webp \
    --with-xpm

注意:根据你的需求调整上述参数,例如需要其他扩展可以添加相应的选项

编译和安装

make -j$(nproc)  # 使用多核编译加快速度
sudo make install

配置PHP

  1. 复制配置文件:
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
  1. 编辑php.ini文件,根据需要进行配置:
sudo nano /usr/local/php/etc/php.ini

常见的修改项包括: - memory_limit - upload_max_filesize - post_max_size - date.timezone

设置环境变量

将PHP添加到系统PATH中:

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

验证安装:

php -v
php -m  # 查看已加载的模块

启动PHP-FPM

sudo /usr/local/php/sbin/php-fpm

设置开机启动:

# 创建systemd服务文件
sudo tee /etc/systemd/system/php-fpm.service << 'EOF'
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target

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

[Install]
WantedBy=multi-user.target
EOF

# 启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable php-fpm
sudo systemctl start php-fpm

可选:安装常用扩展

如果需要安装额外的扩展,例如Redis:

pecl install redis
echo "extension=redis.so" >> /usr/local/php/etc/php.ini

注意事项

  1. 编译过程中如果缺少依赖库,configure会报错,需要安装相应的开发包
  2. 生产环境建议使用php.ini-production而不是php.ini-development
  3. 根据你的Web服务器(Nginx/Apache)配置PHP-FPM或mod_php
  4. 考虑使用--disable-all参数最小化安装,然后只启用需要的扩展

通过以上步骤,你应该已经成功在Linux系统上编译安装了PHP。