在Ubuntu系统上从源代码编译安装PHP,您可以按照以下步骤操作。这里以安装PHP 8.1为例(实际版本请根据需要自行调整):
第一步:更新系统并安装依赖包
sudo apt update
sudo apt upgrade
sudo apt install build-essential libxml2-dev libcurl4-gnutls-dev libssl-dev pkg-config libbz2-dev libjpeg-dev libpng-dev libzip-dev libonig-dev
第二步:下载PHP源代码
cd /opt/
wget https://www.php.net/distributions/php-8.1.x.tar.gz # 替换 x 为具体版本号
tar -zxvf php-8.1.x.tar.gz
cd php-8.1.x
第三步:配置PHP编译选项
./configure \
--prefix=/usr/local/php81 \
--enable-mbstring \
--enable-exif \
--enable-zip \
--with-curl \
--with-pdo-mysql=mysqlnd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-bz2 \
--with-libdir=lib/x86_64-linux-gnu \
--with-config-file-path=/etc/php/8.1 \
--with-config-file-scan-dir=/etc/php/8.1/conf.d
第四步:编译和安装PHP
make -j$(nproc)
sudo make install
第五步:创建系统链接 (可选,以便全局访问)
sudo ln -s /usr/local/php81/bin/php /usr/bin/php81
第六步:配置环境变量(如果需要)
您可以在.bashrc
或.profile
文件中添加如下内容,使新安装的PHP作为默认版本:
echo 'export PATH="/usr/local/php81/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
第七步:创建PHP配置文件和FPM配置(如需与Nginx配合使用)
sudo cp php.ini-development /etc/php/8.1/php.ini
sudo cp /usr/local/php81/etc/php-fpm.conf.default /usr/local/php81/etc/php-fpm.conf
sudo cp sapi/fpm/php-fpm.service /etc/systemd/system/
# 创建运行php-fpm所需的目录
sudo mkdir -p /var/run/php
sudo chown -R www-data:www-data /var/run/php
第八步:启动PHP FPM服务(适用于与Nginx配合)
sudo systemctl daemon-reload
sudo systemctl enable php81-php-fpm
sudo systemctl start php81-php-fpm
此,您已经在Ubuntu系统上成功地从源代码编译并安装了PHP。请确保根据您的需求调整上述配置中的版本号、模块和其他参数。同时,在生产环境中,请务必仔细检查和测试配置以及安全性设置。
如果您计划将PHP与Apache集成而不是Nginx,则不需要执行第七步和第八步,而是需要编译安装apxs2支持并配置Apache加载模块。