<返回更多

centos7系统源码编译安装PHP7.3.5版本

2019-09-09    
加入收藏
centos7系统源码编译安装PHP7.3.5版本

 

新增系统用户组和用户:

[root@localhost ~]# groupadd webg

[root@localhost ~]# useradd -g webg webu

下载 php7.3.5

[root@localhost ~]# mkdir devdir

[root@localhost ~]# cd devdir/

[root@localhost devdir]# wget https://www.php.net/distributions/php-7.3.5.tar.gz

-bash: wget: 未找到命令

[root@localhost devdir]# rpm -qa|grep wget

[root@localhost devdir]# yum -y install wget

[root@localhost devdir]# rpm -qa|grep wget

wget-1.14-18.el7.x86_64

下载PHP7 解压 编译

wget -c https://downloads.php.net/~cmb/php-7.3.4.tar.gz

centos7系统源码编译安装PHP7.3.5版本

 


centos7系统源码编译安装PHP7.3.5版本

 

编译参数解释

--with-fpm-user=webu --with-fpm-group=webg 添加PHP运行用户和用户组

centos7系统源码编译安装PHP7.3.5版本

 

./configure --prefix=/usr/local/php --with-fpm-user=webu --with-fpm-group=webg --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MySQLi --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-fpm

配置信息出错:

configure: error: in `/root/devdir/php-7.3.4':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
[root@localhost php-7.3.4]# vim config.log 

下载gcc软件编译器 yum install -y gcc

configure: error: libxml2 not found. Please check your libxml2 installation.

checking for pkg-config... /usr/bin/pkg-config
configure: error: libxml2 not found. Please check your libxml2 installation.
[root@localhost php-7.3.4]# rpm -qa|grep libxml2
libxml2-2.9.1-6.el7_2.3.x86_64
[root@localhost php-7.3.4]# 
[root@localhost php-7.3.4]# yum install -y libxml2-devel
checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's <evp.h>
[root@localhost php-7.3.4]# rpm -qa|grep openssl
openssl-1.0.2k-16.el7.x86_64
openssl-libs-1.0.2k-16.el7.x86_64
[root@localhost php-7.3.4]# yum install -y openssl-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nwsuaf.edu.cn
 * extras: mirror.lzu.edu.cn
checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
[root@localhost php-7.3.4]# yum install -y bzip2-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.163.com
checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to compile php with cURL support
[root@localhost php-7.3.4]# rpm -qa|grep curl
curl-7.29.0-51.el7.x86_64
libcurl-7.29.0-51.el7.x86_64
Python-pycurl-7.19.0-19.el7.x86_64
[root@localhost php-7.3.4]# yum install -y curl-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nwsuaf.edu.cn
 * extras: mirrors.cn99.com
checking whether to enable JIS-mApped Japanese font support in GD... no
If configure fails try --with-webp-dir=<DIR>
configure: error: jpeglib.h not found.
[root@localhost php-7.3.4]# yum install -y libjpeg-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nwsuaf.edu.cn
configure: error: png.h not found.
[root@localhost php-7.3.4]# yum install -y libpng-devel
已加载插件:fastestmirror
If configure fails try --with-xpm-dir=<DIR>
configure: error: freetype-config not found.
[root@localhost php-7.3.4]# yum install -y freetype-devel
已加载插件:fastestmirror
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
[root@localhost php-7.3.4]# yum install -y libxslt-devel
已加载插件:fastestmirror
configure: error: Please reinstall the libzip distribution
[root@localhost php-7.3.4]# rpm -qa|grep libzip
[root@localhost php-7.3.4]# yum install -y libzip
已加载插件:fastestmirror
[root@localhost php-7.3.4]# rpm -qa|grep libzip
libzip-0.10.1-8.el7.x86_64
[root@localhost php-7.3.4]# yum install -y libzip-devel
已加载插件:fastestmirror
checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11
[root@localhost php-7.3.4]# 

下载libzip-1.5.2.tar.gz

https://libzip.org/download/libzip-1.5.2.tar.gz

[root@localhost devdir]# pwd
/root/devdir
[root@localhost devdir]# wget -c https://libzip.org/download/libzip-1.5.2.tar.gz--2019-05-09 15:02:31-- https://libzip.org/download/libzip-1.5.2.tar.gz
正在解析主机 libzip.org (libzip.org)... 5.2.73.210, 2a04:52c0:101:2e6::de6c
正在连接 libzip.org (libzip.org)|5.2.73.210|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1203524 (1.1M) [application/x-gzip]
正在保存至: “libzip-1.5.2.tar.gz”
100%[======================================>] 1,203,524 44.8KB/s 用时 36s 
2019-05-09 15:03:14 (32.8 KB/s) - 已保存 “libzip-1.5.2.tar.gz” [1203524/1203524])
[root@localhost devdir]# tar zxvf libzip-1.5.2.tar.gz 
libzip-1.5.2/
[root@localhost libzip-1.5.2]# ls
API-CHANGES.md CMakeLists.txt INSTALL.md man src
appveyor.yml cmake-zipconf.h.in lib NEWS.md THANKS
AUTHORS examples libzip.pc.in README.md TODO.md
cmake-config.h.in FindNettle.cmake LICENSE regress
[root@localhost libzip-1.5.2]# mkdir build && cd build
[root@localhost build]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/libzip ..
-bash: cmake: 未找到命令
[root@localhost build]# yum install -y cmake 【版本太低所以安装cmake最新版】
[root@localhost build]# rm -f CMakeCache.txt 
[root@localhost build]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/libzip ..
CMake Error at CMakeLists.txt:4 (CMAKE_MINIMUM_REQUIRED):
 CMake 3.0.2 or higher is required. You are running version 2.8.12.2
-- Configuring incomplete, errors occurred!
[root@localhost build]# yum remove -y cmake
已加载插件:fastestmirror
[root@localhost devdir]# wget -c https://github.com/Kitware/CMake/releases/download/v3.14.3/cmake-3.14.3.tar.gz
[root@localhost devdir]# tar -zxvf cmake-3.14.3.tar.gz
[root@localhost devdir]# cd cmake-3.14.3
[root@localhost cmake-3.14.3]# ./configure 
---------------------------------------------
CMake 3.14.3, Copyright 2000-2019 Kitware, Inc. and Contributors
C compiler on this system is: cc 
---------------------------------------------
Error when bootstrapping CMake:
Cannot find a C++ compiler that supports both C++11 and the specified C++ flags.
Please specify one using environment variable CXX.
[root@localhost cmake-3.14.3]# yum install -y gcc-c++ 【安装gcc-c++编译环境】
[root@localhost cmake-3.14.3]# ./bootstrap 
[root@localhost cmake-3.14.3]# gmake &&gmake install
[root@localhost cmake-3.14.3]# which cmake
/usr/local/bin/cmake
[root@localhost cmake-3.14.3]# cmake --version
-bash: /usr/bin/cmake: 没有那个文件或目录
[root@localhost cmake-3.14.3]# cmake
-bash: /usr/bin/cmake: 没有那个文件或目录
[root@localhost cmake-3.14.3]# vim /etc/profile
文件末尾 PATH="$PATH=/usr/local/bin" export PATH
[root@localhost cmake-3.14.3]# source /etc/profile
[root@localhost cmake-3.14.3]# cmake --version
cmake version 3.14.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[root@localhost cmake-3.14.3]# 

解决libzip 和cmake版本问题

重新配置PHP7编译环境参数

checking for libzip... not found
configure: error: Please reinstall the libzip distribution
[root@localhost php-7.3.4]# yum -y install libzip-devel
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11
[root@localhost php-7.3.4]# which libzip
/usr/bin/which: no libzip in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/bin:/root/bin)
[root@localhost php-7.3.4]# ll /usr/local/lib
lib/ lib64/ libexec/ libzip/ 
[root@localhost php-7.3.4]# ll /usr/local/libzip/
bin/ include/ lib64/ share/ 
[root@localhost php-7.3.4]# ll /usr/local/libzip/bin/zip
zipcmp zipmerge ziptool 
[root@localhost php-7.3.4]# ll /usr/local/libzip/bin
总用量 80
-rwxr-xr-x. 1 root root 24392 5月 9 16:04 zipcmp
-rwxr-xr-x. 1 root root 18880 5月 9 16:04 zipmerge
-rwxr-xr-x. 1 root root 34928 5月 9 16:04 ziptool
[root@localhost php-7.3.4]# vim /etc/profile
unset i
PATH="$PATH:/usr/local/bin:/usr/local/libzip/bin"
export PATH
[root@localhost php-7.3.4]# source /etc/profile
[root@localhost php-7.3.4]# 

libzip-1.5.2 无法安装,已经取消了。

/root/devdir/libzip-1.5.2/build
[root@localhost build]# cd ../../
[root@localhost devdir]# wget -c https://nih.at/libzip/libzip-1.2.0.tar.gz
[root@localhost devdir]# tar -zxvf libzip-1.2.0.tar.gz 
[root@localhost devdir]# cd libzip-1.2.0
[root@localhost libzip-1.2.0]# ls
aclocal.m4 config.sub libzip-uninstalled.pc.in README.md
API-CHANGES configure LICENSE regress
AUTHORS configure.ac ltmain.sh src
cmake-config.h.in depcomp m4 test-driver
CMakeLists.txt examples Makefile.am THANKS
cmake-zipconf.h.in INSTALL Makefile.in TODO.md
compile install-sh man xcode
config.guess lib missing
config.h.in libzip.pc.in NEWS.md
[root@localhost libzip-1.2.0]# ./configure 
[root@localhost libzip-1.2.0]# make -j4 &&make install
【最终解决方案】
cp ../libzip-1.5.2/build/lib/libzip.so /lib64/

提示off_t类型没有定义 undefind,解决方法:

[root@localhost ~]# cd devdir/php-7.3.4
[root@localhost php-7.3.4]# vim /etc/ld.so.conf
ld.so.conf ld.so.conf.d/ 
[root@localhost php-7.3.4]# vim /etc/ld.so.conf
[root@localhost php-7.3.4]# vim /usr/lib64/
Display all 588 possibilities? (y or n)
[root@localhost php-7.3.4]# vim /usr/lib64/l
Display all 538 possibilities? (y or n)
[root@localhost php-7.3.4]# vim /usr/lib64/lib
Display all 535 possibilities? (y or n)
[root@localhost php-7.3.4]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
[root@localhost php-7.3.4]# ldconfig -v
ldconfig: 多次给出路径“/lib”
centos7系统源码编译安装PHP7.3.5版本

 

编译安装

centos7系统源码编译安装PHP7.3.5版本

 

In file included from /root/devdir/php-7.3.4/ext/zip/php_zip.h:31:0,
 from /root/devdir/php-7.3.4/ext/zip/php_zip.c:36:
/usr/local/include/zip.h:59:21: 致命错误:zipconf.h:没有那个文件或目录
 #include <zipconf.h>
 ^
编译中断。
make: *** [ext/zip/php_zip.lo] 错误 1
解决方案:
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
[root@localhost php-7.3.4]# cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/

测试PHP是否安装成功

Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.4.5
[PEAR] Console_Getopt - installed: 1.4.2
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.4.3
[PEAR] PEAR - installed: 1.10.9
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/root/devdir/php-7.3.4/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/
[root@localhost php-7.3.4]# php -v
-bash: php: 未找到命令
[root@localhost php-7.3.4]# ll /usr/local/php/
bin/ etc/ include/ lib/ php/ sbin/ var/ 
[root@localhost php-7.3.4]# ll /usr/local/php/bin/p
pear pecl phar.phar php-cgi phpdbg 
peardev phar php php-config phpize 
[root@localhost php-7.3.4]# vim /etc/profile
[root@localhost php-7.3.4]# source /etc/profile
[root@localhost php-7.3.4]# php -v
PHP 7.3.4 (cli) (built: May 9 2019 17:39:42) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
[root@localhost php-7.3.4]# 

转载自:https://my.oschina.net/u/4127346/blog/3047778

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>