如何以正确的姿势编译安装PHP-7.3.8

来自:互联网
时间:2020-03-18
阅读:

本着折腾的原则,本站所用的LNMP都是最新版,但是安装PHP-7.3.8的时候出现了很多报错,本文就最新版PHP-7.3.8进行编译安装的过程进行记录一下。

如何以正确的姿势编译安装PHP-7.3.8

1、准备工作


1.1、安装EPEL源
yum -y install epel-release.noarch

1.2、安装相关依赖包:
yum -y install gcc gcc-c++ make cmake  perl autoconf automake libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel openssl openssl-devel pcre pcre-devel libtool  pcre-devel libAIo-devel libaio bzip2-devel libcurl-devel gd-devel bison bison-devel  mhash

2、安装CMake和libzip


2.1先移除自带的libzip和Cmake
yum remove cmake* libzip*

2.2、安装CMake二进制包,因为如果先编译安装libzip最新版会提示CMake版本太低。
wget https://cmake.org/files/v3.15/cmake-3.15.2-Linux-x86_64.tar.gz
tar xf cmake-3.15.2-Linux-x86_64.tar.gz 

export CMAKE_HOME=/usr/local/src/cmake-3.15.2-Linux-x86_64    (这是我的个人习惯,我习惯在/usr/local/src文件夹下放置软件)
export PATH=$PATH:$CMAKE_HOME/bin
source /etc/profile

###CMake到此就算安装完毕。

2.3、编译安装libzip
wget https://libzip.org/download/libzip-1.5.2.tar.gz
tar xf libzip-1.5.2.tar.gz 
cd libzip-1.5.2
mkdir build
cd build/
cmake ..
make && make install

###libzip到此就算安装完毕。

2.4、配置环境变量
vim /etc/ld.so.conf 
#添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64 
#保存退出
:wq
ldconfig -v # 使之生效

cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

###环境变量配置完毕。

3、安装PHP-7.3.8,这里有个小技巧,如果你编译安装过PHP-7.x的版本,在你以前安装的PHP-7.x的包里面会生成一个config.nice文件,你只需要把此文件,复制到PHP-7.3.8文件夹内,并执行./config.nice && make && make install 命令即可,不需要重复编写编译参数,注意:此方法仅限于不修改任何编译参数的情况下使用,当然你也可以编写config.nice文件来进行编译参数修改。



###config.nice文件的内容如下:

#! /bin/sh
#
# Created by configure

'./configure' 
'--prefix=/usr/local/php' 
'--exec-prefix=/usr/local/php' 
'--bindir=/usr/local/php/bin' 
'--sbindir=/usr/local/php/sbin' 
'--includedir=/usr/local/php/include' 
'--libdir=/usr/local/php/lib/php' 
'--mandir=/usr/local/php/php/man' 
'--with-config-file-path=/usr/local/php/etc' 
'--with-MySQL-sock=/var/lib/mysql/mysql.sock' 
'--with-mhash' 
'--with-openssl' 
'--with-mysqli=shared,mysqlnd' 
'--with-pdo-mysql=shared,mysqlnd' 
'--without-sqlite3' 
'--without-pdo-sqlite' 
'--with-gd' 
'--with-iconv' 
'--with-zlib' 
'--enable-zip' 
'--enable-inline-optimization' 
'--disable-debug' 
'--disable-rpath' 
'--enable-shared' 
'--enable-xml' 
'--enable-bcmath' 
'--enable-shmop' 
'--enable-sysvsem' 
'--enable-mbregex' 
'--enable-mbstring' 
'--enable-ftp' 
'--enable-pcntl' 
'--enable-sockets' 
'--with-xmlrpc' 
'--enable-soap' 
'--without-pear' 
'--with-gettext' 
'--enable-session' 
'--with-curl' 
'--with-jpeg-dir' 
'--with-freetype-dir' 
'--enable-opcache' 
'--enable-fpm' 
'--with-fpm-user=nobody' 
'--with-fpm-group=nobody' 
'--without-gdbm' 
'--enable-fast-install' 
'--disable-fileinfo' 
"$@"


###创建php-fpm控制脚本,此脚本PHP-7.3.8已经自带了,位于PHP-7.3.8包的sapi/fpm下。

CENTOS 6
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

CENTOS 7
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/


4、至此PHP-7.3.8安装完毕。

返回顶部
顶部