IT开发与技术
IT 云技术记录与分享
首页
关于
文章分类
常用标签
PHP7.4 编译记录
2020-05-21 | 李斌斌 | PHP

本文记录下载最新版的 PHP7.4.6 的编译过程,系统环境为 Unbutn 16.04 x64。

安装依赖库

apt install libxml2-dev
apt install libreadline-dev
apt install libzip-dev
apt install libssl-dev
apt install libsqlite3-dev
apt install pkg-config
apt install open-ssl
apt install libpng-dev
可选:
apt-get install libevent2-dev -y    

libevent2 如果 apt 安装失败,可以使用源码编译,官网地址:https://libevent.org/
编译顺序:./configure,make,make install

其他几个需要编译安装的库:
bzip2:https://sourceforge.net/projects/bzip2/
curl:https://curl.haxx.se/download.html
onig:https://github.com/kkos/oniguruma/releases
bzip 和 curl 的编译安装方法:./configure,make,make install
onig 也是一样,只是完成后需要给 libonig.so.5 文件做个软链接:

ln -s /usr/local/lib/libonig.so.5 /usr/lib/libonig.so.5

编译 PHP

./configure \
--prefix=/opt/programs/php \
--with-config-file-path=/opt/programs/php/etc \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml \
--with-xmlrpc \
--with-openssl \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--enable-ftp \
--enable-gd \
--with-openssl \
--with-jpeg \
--with-webp \
--with-zlib \
--with-freetype \
--enable-gd-jis-conv \
--with-gettext \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pdo-sqlite \
--with-readline \
--enable-pcntl \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-zip \
--enable-mysqlnd-compression-support \
--enable-opcache

configure 过程会检测相应的包是否齐全,如果出现错误,寻找对应的包安装上即可。
这里在 make 之前,遇到了找不到 phar.phar 文件的错误,所以先这样:

cp /opt/php-source/php-7.4.6/ext/phar/phar.php /opt/php-source/php-7.4.6/ext/phar/phar.phar

然后再 make && make install

修改环境变量

编译成功后,将 php 的 bin 目录写入环境变量 /etc/profile 中:

export PATH="/opt/programs/php/bin:$PATH"

保存后:

source /etc/profile

安装其他库

1)event 库
安装步骤:

phpize
./configure 
make
make install

2) redis 库
安装步骤:

phpize
./configure
make
make install

修改 PHP 配置

最后根据需要,修改 php.ini 文件,新增如下内容:

extension_dir="/opt/programs/php/lib/php/extensions/no-debug-non-zts-20190902"
extension=redis
extension=event
zend_extension=opcache.so

创建 Init 启动文件,便于管理 php-fpm

cp sapi/fpm/init.d.php-fpm /etc/init.d/php7.4-fpm
chmod +x /etc/init.d/php7.4-fpm
#启动php-fpm
/etc/init.d/php7.4-fpm start
php
respond-post-5

添加新评论

请填写称呼
请填写合法的电子邮箱地址
请填写合法的网站地址
请填写内容