7.3版本比较麻烦,zlib需要安装新版的libzip,libzip又需要编译安装新版cmake,还有一些简单的系统配置需要修改,这里都做了记录。
关于yum安装的依赖,我也记不清装了多少,总之下面这些都装上肯定能编译……
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers readline readline-devel gdbm-devel libXpm-devel
下载新版cmake,删除原有cmake
yum remove cmake
在 https://cmake.org/download/ 下载源码,然后(记得依照公司标准,将源码放入/usr/local/src/)
tar xf cmake-3.20.1.tar.gz
cd cmake-3.20.1
./bootstrap && make && make install
安装libzip
在 https://libzip.org/download/ 下载源码,进行安装
tar xf libzip-1.7.3.tar.gz
cd libzip-1.7.3
mkdir build && cd build && cmake .. && make && make install
如果现在就编译,则会报错:
configure: error: off_t undefined; check your library configuration
进行如下操作:
vi /etc/ld.so.conf
添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
保存退出
:wq
使之生效
ldconfig -v
编译参数如下:
./configure \
--prefix=/usr/local/php73 \
--with-config-file-path=/usr/local/php73/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-libxml-dir \
--enable-xml \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--with-gdbm \
--with-gd \
--with-pear \
--enable-opcache \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-readline \
--enable-fileinfo \
--enable-maintainer-zts
编译安装
make && make install
配置php和php-fpm
这里是安装了一个版本的php,路径里没加71、72,两个版本的时候,注意路径。
php
生成php自身配置文件
cp /usr/local/src/php-7.2.30/php.ini-production /usr/local/php/etc/php.ini
生成php-fpm配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
添加环境变量(方便php、phpize、phpconfig查找使用)
echo 'PATH=/usr/local/php/bin:$PATH' >> /etc/profile
source /etc/profile
或者直接打开/etc/profile编辑环境变量。
php-fpm
生成php-fpm启动脚本
cp /usr/local/src/php-7.2.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
给予执行权限,加入开机启动,启动软件
chmod +x /etc/init.d/php-fpm
chkconfig php-fpm on
/etc/init.d/php-fpm start
生成测试页vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>