编译PHP
背景:部署 LNMP + ZABBIX 时最后一步安装 ZABBIX 时总是提示 jpeg、gd 库等问题,缺少这些库的支持,那么只能重新编译,比较浪费时间,故做出总结,以备后续不时之需。
GD 扩展主要依赖 zlib,freetype,libpng,libjpeg 这4个库,所以我们先编译这四个库:
## 安装 zlib
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/user/local/zlib
make && make install
## 安装 libpng
wget https://nchc.dl.sourceforge.net/project/libpng/libpng16/1.6.37/libpng-1.6.37.tar.xz
tar -zxvf libpng-1.6.37.tar.xz
cd libpng-1.6.37
./configure --prefix=/user/local/libpng
make && make install
## 安装 libjpeg
yum install libjpeg-devel
wget http://www.ijg.org/files/jpegsrc.v9e.tar.gz
tar xvf jpegsrc.v9e.tar.gz
cd jpeg-9e/
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make && make install
## 安装 freetype
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.gz
tar -zxvf freetype-2.9.tar.gz
cd freetype-2.9
./configure --prefix=/user/local/freetype
make && make install
## 安装依赖
yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel libzip gcc-c++ libsqlite3x-devel oniguruma onigurma-devel
## 编译 PHP
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-xmlreader --enable-xmlwriter --enable-soap --enable-calendar --with-curl --with-zlib --with-gd --with-pdo-sqlite --with-pdo-mysql --with-mysqli --with-mysql-sock --enable-mysqlnd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --enable-ftp --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-fpm-systemd --disable-fileinfo --disable-phpdbg --disable-dtrace --enable-opcache --enable-gd --enable-gd-jis-conv --without-gdbm --with-ldap=shared --with-jpeg --with-freetype