centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展
- centos7.6编译安装php7..11及redis/memcached/rabbitmq/openssl/curl等常见扩展
- 获取Php的编译参数方法:
- [root@eus-api-cms-backend-web01:~]# php -i |grep configure
- ./configure --prefix=/usr/local/php-7.2.11_fpm --with-config-file-path=/usr/local/php-7.2.11_fpm/etc --with-openssl=/usr/local/lab/openssl-1.1.0i --with-libxml-dir=/usr --with-zlib-dir=/usr/local/lab/zlib-1.2. --with-bz2 --enable-calendar --with-curl=/usr/local/lab/curl-curl-7_62_0 --enable-dba --enable-exif --enable-ftp --with-jpeg-dir=/usr/local/lab/libjpeg-6b --with-png-dir=/usr/local/lab/libpng-1.6./ --with-freetype-dir=/usr/local/lab/freetype-2.5. --with-gd=/usr/local/lab/libgd-2.1. --with-gettext --enable-mbstring --with-ldap=/usr/local/openldap-2.4. --with-mcrypt=/usr/local/lab/libmcrypt-2.5. --with-mhash=/usr/local/lab/mhash-0.9.9.9 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-unixODBC=/usr/local/lab/unixODBC-2.3. --with-pdo-dblib=/usr/local/lab/freetds-0.92 --enable-zip --with-iconv-dir=/usr/local/lab/libiconv-1.14 --with-fpm-user=apache --with-fpm-group=users --enable-fpm --with-xmlrpc --enable-soap --enable-mbregex --enable-opcache --enable-inline-optimization --enable-xml --enable-sockets --disable-debug --enable-pcntl --enable-shmop
- 一、编译安装各种常见扩展
- 扩展包的下载地址:
- http://pecl.php.net/package-stats.php
- # openssl的编译(目前强烈不建议编译安装openssl-1.1.x,各种坑)
- cd /usr/local/src && wget https://www.openssl.org/source/openssl-1.1.0i.tar.gz --no-check-certificate
- tar -xzf /usr/local/lab/openssl-1.1.0i.tar.gz
- cd /usr/local/lab/openssl-1.1.0i
- ./config --prefix=/usr/local/lab/openssl-1.1.0i
- make && make install
- # openssl-OpenSSL_1_0_2p编译安装
- unzip openssl-OpenSSL_1_0_2p.zip
- cd openssl-OpenSSL_1_0_2p
- ./config --prefix=/usr/local/lab/openssl-1.0.2p
- make && make install
- ###event安装记录
- wget http://pecl.php.net/get/event-2.4.2.tgz
- tar -zxf event-2.4..tgz
- cd event-2.4.
- /usr/local/php/bin/phpize
- ./configure --with-event-core --with-event-extra --enable-event-debug --with-php-config=/usr/local/php/bin/php-config
- make && make install
- # zlib编译
- cd /usr/local/src && wget http://www.zlib.net/zlib-1.2.11.tar.gz
- tar -xvzf zlib-1.2..tar.gz
- cd zlib-1.2.
- ./configure --prefix=/usr/local/lab/zlib-1.2.
- make && make install
- # curl的编译(支持https)
- unzip curl-curl-7_62_0.zip
- cd /usr/local/src/curl-curl-7_62_0
- ./buildconf
- ./configure --prefix=/usr/local/lab/curl-7_62_0_ssl --with-ssl=/usr/local/lab/openssl-1.1.0i/ssl --with-gssapi --enable-tls-srp --with-libmetalink
- make && make install
- # 如果curl编译https则libcurl报错
- [root@sz_yygl_cbs_test01_18_237:~]# cat test.php
- <?php
- $params = array();
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, trim("https://www.baidu.com"));
- curl_setopt($ch, CURLOPT_VERBOSE, );
- /** turning off the server and peer verification(TrustManager Concept).*/
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, );
- curl_setopt($ch, CURLOPT_POST, );
- curl_setopt($ch, CURLOPT_TIMEOUT, );
- curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
- $response = curl_exec($ch);
- var_export($response);
- if (curl_errno($ch)) {
- $curl_error = array();
- $curl_error['errno'] = curl_errno($ch);
- $curl_error['msg'] = curl_error($ch);
- var_export($curl_error);
- }
- curl_close($ch);
- [root@sz_yygl_cbs_test01_18_237:~]# php test.php
- * Protocol "https" not supported or disabled in libcurl
- * Closing connection -
- falsearray (
- 'errno' => ,
- 'msg' => 'Protocol "https" not supported or disabled in libcurl',
- # 原因分析:php的扩展curl不支持https
- 解决:
- unzip curl-curl-7_62_0.zip
- cd /usr/local/src/curl-curl-7_62_0
- ./buildconf
- # 编译支持https的curl
- ./configure --prefix=/usr/local/lab/curl-7_62_0_ssl --with-gssapi --enable-tls-srp --with-libmetalink
- make && make install
- .....
- config.status: creating libcurl.pc
- config.status: creating lib/curl_config.h
- config.status: executing depfiles commands
- config.status: executing libtool commands
- configure: Configured to build curl/libcurl:
- curl version: 7.62.-DEV
- Host setup: x86_64-unknown-linux-gnu
- Install prefix: /usr/local/curl-7_62_0_ssl
- Compiler: gcc
- # 表示支持openssl
- SSL support: enabled (OpenSSL)
- SSH support: no (--with-libssh2)
- zlib support: enabled
- brotli support: no (--with-brotli)
- GSS-API support: enabled (MIT Kerberos/Heimdal)
- TLS-SRP support: no (--enable-tls-srp)
- resolver: POSIX threaded
- IPv6 support: no (--enable-ipv6)
- Unix sockets support: enabled
- IDN support: no (--with-{libidn2,winidn})
- Build libcurl: Shared=yes, Static=yes
- Built-in manual: enabled
- --libcurl option: enabled (--disable-libcurl-option)
- Verbose errors: enabled (--disable-verbose)
- SSPI support: no (--enable-sspi)
- ca cert bundle: /etc/pki/tls/certs/ca-bundle.crt
- ca cert path: no
- ca fallback: no
- LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib)
- LDAPS support: no (--enable-ldaps)
- RTSP support: enabled
- RTMP support: no (--with-librtmp)
- metalink support: no (--with-libmetalink)
- PSL support: no (libpsl not found)
- HTTP2 support: disabled (--with-nghttp2)
- Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
- ################################################################################
- # 安装jpeg
- #wget:http://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz
- tar -zxf libtool-2.2.6a.tar.gz -C /usr/local/lab
- cd /usr/local/lab/libtool-2.2.
- ./configure
- make && make install
- 然后进入jpeg-6b的源码目录,然后执行以下步骤,切记!COPY到当前目录注意后面的点(.)
- 网上好多都把config.sub和config.guess的路径弄错了,应该是在/usr/share/libtool/config/下,而不是在
- /usr/share/libtool/下
- cd jpeg
- cp /usr/share/libtool/config/config.sub .
- cp /usr/share/libtool/config/config.guess .
- mkdir -p /usr/local/libjpeg-6b/bin
- mkdir -p /usr/local/libjpeg-6b/lib
- mkdir -p /usr/local/libjpeg-6b/man/man1
- ./configure --prefix=/usr/local/libjpeg-6b --enable-shared --enable-static
- make && make install
- # 安装freetype2.5.4
- mkdir -p /usr/local/lab/freetype-2.5./include/freetype2/config
- mkdir -p /usr/local/lab/freetype-2.5./include/freetype2/freetype/config
- ./configure --prefix=/usr/local/lab/freetype-2.5.
- make && make install
- ***************************************
- # 编译安装 libmcrypt, mhash, mcrypt 二进制源码包(这种方法只适合php7以下版本,对php7没用)
- # libmcrypt
- tar -zxf libmcrypt-2.5..tar.gz
- cd libmcrypt-2.5.
- ./configure --prefix=/usr/local/lab/libmcrypt-2.5.8_php7.
- make && make install
- # mhash
- tar -zxf mhash-0.9.9.9.tar.gz
- cd mhash-0.9.9.9
- ./configure --prefix=/usr/local/lab/mhash-0.9.9.9
- make && make install
- # mcrypt
- tar -zxf mcrypt-2.6..tar.gz
- cd mcrypt-2.6.
- export LD_LIBRARY_PATH=/usr/local/lab/libmcrypt-2.5.8_php7./lib:/usr/local/lab/mhash-0.9.9.9/lib
- export LDFLAGS="-L/usr/local/lab/mhash-0.9.9.9/lib -I/usr/local/lab/mhash-0.9.9.9/include/"
- export CFLAGS="-I/usr/local/lab/mhash-0.9.9.9/include/"
- ./configure --prefix=/usr/local/lab/mcrypt-2.6. --with-libmcrypt-prefix=/usr/local/lab/libmcrypt-2.5.8_php7.
- make && make install
- ***************************************
- # php7.2安装mcrypt
- tar -zxf mcrypt-1.0..tgz
- cd mcrypt-1.0.
- # 在mcrypt-1.0.1目录下执行phpize命令,会生成configure命令
- [root@web01:/usr/local/src/mcrypt-1.0.]# /usr/local/php-7.2.11_fpm/bin/phpize
- Configuring for:
- PHP Api Version:
- Zend Module Api No:
- Zend Extension Api No:
- [root@web01:/usr/local/src/mcrypt-1.0.]# ./configure --with-php-config=/usr/local/php-7.2.11_fpm/bin/php-config
- ## Redis扩展
- echo "*******************install Redis扩展 start*******************"
- cd /usr/local/src && wget http://pecl.php.net/get/redis-4.1.1.tgz
- tar -zxvf redis-4.1..tgz
- cd redis-4.1./
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make && make install
- ## SeasLog扩展
- [root@web01:/usr/local/src]# tar -zxf SeasLog-1.8..tgz
- [root@web01:/usr/local/src]# cd SeasLog-1.8.
- [root@web01:/usr/local/src/SeasLog-1.8.]# /usr/local/php-7.2.11_fpm/bin/phpize
- Configuring for:
- PHP Api Version:
- Zend Module Api No:
- Zend Extension Api No:
- [root@web01:/usr/local/src/SeasLog-1.8.]# ./configure --with-php-config=/usr/local/php-7.2.11_fpm/bin/php-config
- [root@web01:/usr/local/src/SeasLog-1.8.]# make && make install
- ### memcached扩展
- # 编译安装libmemcached-1.0.
- tar -zxf libmemcached-1.0..tar.gz
- cd libmemcached-1.0.
- ./configure --prefix=/usr/local/lab/libmemcached-1.0. --with-memcached
- # 安装php-memcached扩展
- php使用memcache的扩展有两个,一个memcache,一个memcached,前者比较老,推荐使用第二个,我们这里以第二个为例:
- 在github上找到适用于php7的分支https://github.com/php-memcached-dev/php-memcached/tree/php7
- # 解压
- unzip php-memcached-php7.zip
- cd php-memcached-php7
- # 执行phpize会生成configure文件
- /usr/local/php/bin/phpize
- # 执行预编译
- ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/lab/libmemcached-1.0. --disable-memcached-sasl
- make && make install
- # 安装rar扩展
- tar -zxf rar-4.0..tgz
- cd rar-4.0.
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make && make install
- ####安装zmq扩展
- .到zeromq官网查看版本信息:http://zeromq.org/intro:get-the-software
- .Linux服务器跟目录下依次执行以下命令:
- wget https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.5.tar.gz
- tar zxvf zeromq-4.2..tar.gz
- cd zeromq-4.2.
- ./configure
- make
- make install
- .切回根目录,执行以下步骤:
- 下载https://codeload.github.com/mkoppanen/php-zmq/zip/master/php-zmq-master.zip
- unzip php-zmq-master.zip
- cd php-zmq-master
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make
- make install
- # 编辑php配置文件,在最后面加入
- # vim /usr/local/php/etc/php.ini
- extension=zmq.so
- # 编辑php.ini文件添加扩展,并重启php-fpm
- extension=rar.so
- extension=memcache.so
- extension=memcached.so
- extension=redis.so
- extension=seaslog.so
- extension=pcntl.so
- extension=rar.so
- extension=mcrypt.so
- ###编译安装bcmath
- .进入PHP源码包目录下的ext/bcmath目录
- .执行phpize命令,phpize命令在PHP安装目录的bin目录下,如 /usr/local/php-7.2./bin/phpize
- .执行./configure --with-php-config=/usr/local/php-7.2.11_fpm/bin/php-config
- make && make install
- ####安装 amqp扩展
- # 安装前要先安装rabbitmq-c
- wget -c https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
- tar zxf rabbitmq-c-0.8..tar.gz
- cd rabbitmq-c-0.8.
- ./configure --prefix=/usr/local/rabbitmq-c-0.8.
- make && make install
- # 安装amqp
- tar zxf amqp-1.9..tgz
- cd amqp-1.9.
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.8.
- make && make install
- # 安装amqp的时候报错:
- cc -I. -I/usr/local/src/amqp-1.9. -DPHP_ATOM_INC -I/usr/local/src/amqp-1.9./include -I/usr/local/src/amqp-1.9./main -I/usr/local/src/amqp-1.9. -I/usr/local/php-7.2.11_fpm/include/php -I/usr/local/php-7.2.11_fpm/include/php/main -I/usr/local/php-7.2.11_fpm/include/php/TSRM -I/usr/local/php-7.2.11_fpm/include/php/Zend -I/usr/local/php-7.2.11_fpm/include/php/ext -I/usr/local/php-7.2.11_fpm/include/php/ext/date/lib -I/usr/local/rabbitmq-c-0.8.//include -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/amqp-1.9.3/amqp_connection_resource.c -fPIC -DPIC -o .libs/amqp_connection_resource.o
- /usr/local/src/amqp-1.9./amqp_connection_resource.c::: error: amqp_ssl_socket.h: No such file or directory
- /usr/local/src/amqp-1.9./amqp_connection_resource.c: In function ‘connection_resource_constructor’:
- /usr/local/src/amqp-1.9./amqp_connection_resource.c:: warning: assignment makes pointer from integer without a cast
- make: *** [amqp_connection_resource.lo] Error
- 解决:
- 参考:https://github.com/alanxz/rabbitmq-c/issues/463
- [root@sz_xx_cmsby01_11_99:/usr/local/src/amqp-1.9.]# find /usr/local -name amqp_ssl_socket.h
- /usr/local/src/rabbitmq-c-0.8./librabbitmq/amqp_ssl_socket.h
- [root@sz_xx_cmsby01_11_99:/usr/local/src/amqp-1.9.]# cp /usr/local/src/rabbitmq-c-0.8./librabbitmq/amqp_ssl_socket.h ./
- # 重新make && make install 即可
####### 安装imap扩展
# 安装imap依赖
yum install -y libc-client-devel freetype-devel libcurl-devel libjpeg-turbo-devel openssl-devel libicu-devel libmcrypt-devel
ln -s /usr/lib64/libc-client.so /usr/lib/libc-client.so
cd /usr/local/src && tar -zxf php-7.2.11.tar.gz
cd /usr/local/src/php-7.2.11/ext/imap
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-imap=/usr/lib64 --with-imap-ssl --with-kerberos
make && make install
#####安装mysql扩展
# 下载扩展地址,最上面最新的:http://git.php.net/?p=pecl/database/mysql.git;a=summary
unzip mysql-386776d.zip
cd mysql-386776d
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=mysqlnd
make && make install
# vim /usr/local/php-7.2.11_fpm/etc/php.ini
extension=mysql.so
- # 安装memcache扩展
- unzip pecl-memcache-NON_BLOCKING_IO_php7.zip
- cd pecl-memcache-NON_BLOCKING_IO_php7
- /usr/local/php/bin/phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make
- make install
- ### 安装php7..11版本中自带的扩展intl
- a.PHP intl 是国际化扩展,是ICU 库的一个包装器。所以在安装PHP intl扩展前要先安装ICU库,安装ICU库的具体步骤:
- mkdir /usr/local/lab/icu
- cd /usr/local/lab/icu
- wget http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.tgz
- tar xf icu4c-52_1-src.tgz
- cd icu/source
- ./configure --prefix=/usr/local/lab/icu
- make && make install
- 安装完毕:
- 注:icu版本你也可以去官网下载:http://site.icu-project.org/download 。--prefix=/usr/local/icu为icu的安装路径,也可以通过find / -name icu查找。
- b.安装扩展intl.so
- .进入php7源码:cd /usr/local/src/php-7.2./ext/intl
- .运行:phpize ,找不到命令时,将路径补全:/usr/local/php/bin/phpize(是php的安装路径),出现如下:
- [root@sz_xx_cmsby01_11_99:/usr/local/src/php-7.2./ext/intl]# /usr/local/php/bin/phpize
- Configuring for:
- PHP Api Version:
- Zend Module Api No:
- Zend Extension Api No:
- c.运行配置
- ./configure --enable-intl --with-icu-dir=/usr/local/lab/icu --with-php-config=/usr/local/php/bin/php-config
- make && make install
- 注:前面路径为icu的安装路径,后面路径为php的安装路径
- 二、编译安装php7.2.11
- tar -zxf php-7.2..tar.gz
- cd php-7.2.
- ./configure --prefix=/usr/local/php-7.2.11_fpm --with-config-file-path=/usr/local/php-7.2.11_fpm/etc --with-openssl=/usr/local/lab/openssl-1.1.0i --with-libxml-dir=/usr --with-zlib-dir=/usr/local/lab/zlib-1.2. --with-bz2 --enable-calendar --with-curl=/usr/local/lab/curl-curl-7_62_0 --enable-dba --enable-exif --enable-ftp --with-jpeg-dir=/usr/local/lab/jpeg-9b --with-png-dir=/usr/local/lab/libpng-1.6./ --with-freetype-dir=/usr/local/lab/freetype-2.5. --with-gd=/usr/local/lab/libgd-2.1. --with-gettext --enable-mbstring --with-ldap=/usr/local/openldap-2.4. --with-mcrypt=/usr/local/lab/libmcrypt-2.5.8_php7. --with-mhash=/usr/local/lab/mhash-0.9.9.9 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-unixODBC=/usr/local/lab/unixODBC-2.3. --with-pdo-dblib=/usr/local/lab/freetds-0.92 --enable-zip --with-iconv-dir=/usr/local/lab/libiconv-1.14 --with-fpm-user=apache --with-fpm-group=users --enable-fpm --with-xmlrpc --enable-soap --enable-mbregex --enable-opcache --enable-inline-optimization --enable-xml --enable-sockets --disable-debug --enable-pcntl --enable-shmop
- ....
- creating libtool
- appending configuration tag "CXX" to libtool
- Generating files
- configure: creating ./config.status
- creating main/internal_functions.c
- creating main/internal_functions_cli.c
- +--------------------------------------------------------------------+
- | License: |
- | This software is subject to the PHP License, available in this |
- | distribution in the file LICENSE. By continuing this installation |
- | process, you are bound by the terms of this license agreement. |
- | If you do not agree with the terms of this license, you must abort |
- | the installation process at this point. |
- +--------------------------------------------------------------------+
- Thank you for using PHP.
- config.status: creating php7.spec
- config.status: creating main/build-defs.h
- config.status: creating scripts/phpize
- config.status: creating scripts/man1/phpize.
- config.status: creating scripts/php-config
- config.status: creating scripts/man1/php-config.
- config.status: creating sapi/cli/php.
- config.status: creating sapi/fpm/php-fpm.conf
- config.status: creating sapi/fpm/www.conf
- config.status: creating sapi/fpm/init.d.php-fpm
- config.status: creating sapi/fpm/php-fpm.service
- config.status: creating sapi/fpm/php-fpm.
- config.status: creating sapi/fpm/status.html
- config.status: creating sapi/phpdbg/phpdbg.
- config.status: creating sapi/cgi/php-cgi.
- config.status: creating ext/phar/phar.
- config.status: creating ext/phar/phar.phar.
- config.status: creating main/php_config.h
- config.status: executing default commands
- configure: WARNING: unrecognized options: --with-mcrypt, --with-mysql
- # make && make install
- d/zend_exceptions.lo Zend/zend_strtod.lo Zend/zend_gc.lo Zend/zend_closures.lo Zend/zend_float.lo Zend/zend_string.lo Zend/zend_signal.lo Zend/zend_generators.lo Zend/zend_virtual_cwd.lo Zend/zend_ast.lo Zend/zend_objects.lo Zend/zend_object_handlers.lo Zend/zend_objects_API.lo Zend/zend_default_classes.lo Zend/zend_inheritance.lo Zend/zend_smart_str.lo Zend/zend_execute.lo main/internal_functions_cli.lo main/fastcgi.lo sapi/cgi/cgi_main.lo -lcrypt -lcrypto -lssl -lcrypto -lz -lcrypt -lrt -lsybdb -lldap -llber -lgd -lpng -lz -ljpeg -lpng -lz -ljpeg -lcrypto -lssl -lcrypto -lbz2 -lz -lcrypto -lssl -lcrypto -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lcurl -lxml2 -lz -lm -lfreetype -lfreetype -lodbc -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -o sapi/cgi/php-cgi
- /usr/bin/ld: warning: libssl.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libssl.so.1.1
- /usr/bin/ld: warning: libssl.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libssl.so.1.1
- /usr/bin/ld: warning: libssl.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libssl.so.1.1
- /usr/bin/ld: warning: libssl.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libssl.so.1.1
- /usr/bin/ld: warning: libcrypto.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libcrypto.so.1.1
- /usr/bin/ld: warning: libcrypto.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libcrypto.so.1.1
- /usr/bin/ld: warning: libcrypto.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libcrypto.so.1.1
- /usr/bin/ld: warning: libcrypto.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libcrypto.so.1.1
- /usr/bin/ld: warning: libcrypto.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libcrypto.so.1.1
- /usr/bin/ld: warning: libcrypto.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libcrypto.so.1.1
- /usr/bin/ld: warning: libcrypto.so., needed by /usr/local/openldap-2.4./lib/libldap.so, may conflict with libcrypto.so.1.1
- Generating phar.php
- Generating phar.phar
- PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
- directorygraphiterator.inc
- invertedregexiterator.inc
- pharcommand.inc
- directorytreeiterator.inc
- clicommand.inc
- phar.inc
- Build complete.
- Don't forget to run 'make test'.
- Installing shared extensions: /usr/local/php-7.2.11_fpm/lib/php/extensions/no-debug-non-zts-/
- Installing PHP CLI binary: /usr/local/php-7.2.11_fpm/bin/
- Installing PHP CLI man page: /usr/local/php-7.2.11_fpm/php/man/man1/
- Installing PHP FPM binary: /usr/local/php-7.2.11_fpm/sbin/
- Installing PHP FPM defconfig: /usr/local/php-7.2.11_fpm/etc/
- Installing PHP FPM man page: /usr/local/php-7.2.11_fpm/php/man/man8/
- Installing PHP FPM status page: /usr/local/php-7.2.11_fpm/php/php/fpm/
- Installing phpdbg binary: /usr/local/php-7.2.11_fpm/bin/
- Installing phpdbg man page: /usr/local/php-7.2.11_fpm/php/man/man1/
- Installing PHP CGI binary: /usr/local/php-7.2.11_fpm/bin/
- Installing PHP CGI man page: /usr/local/php-7.2.11_fpm/php/man/man1/
- Installing build environment: /usr/local/php-7.2.11_fpm/lib/php/build/
- Installing header files: /usr/local/php-7.2.11_fpm/include/php/
- Installing helper programs: /usr/local/php-7.2.11_fpm/bin/
- program: phpize
- program: php-config
- Installing man pages: /usr/local/php-7.2.11_fpm/php/man/man1/
- page: phpize.
- page: php-config.
- Installing PEAR environment: /usr/local/php-7.2.11_fpm/lib/php/
- [PEAR] Archive_Tar - installed: 1.4.
- [PEAR] Console_Getopt - installed: 1.4.
- [PEAR] Structures_Graph- installed: 1.1.
- [PEAR] XML_Util - installed: 1.4.
- [PEAR] PEAR - installed: 1.10.
- Wrote PEAR system config file at: /usr/local/php-7.2.11_fpm/etc/pear.conf
- You may want to add: /usr/local/php-7.2.11_fpm/lib/php to your php.ini include_path
- /usr/local/src/php-7.2./build/shtool install -c ext/phar/phar.phar /usr/local/php-7.2.11_fpm/bin
- ln -s -f phar.phar /usr/local/php-7.2.11_fpm/bin/phar
- Installing PDO headers: /usr/local/php-7.2.11_fpm/include/php/ext/pdo/
- # 20181211重新编译带https的curl插件
- tar -zxf php-7.2..tar.gz
- cd php-7.2.
- ./configure --prefix=/usr/local/php-7.2.11_fpm --with-config-file-path=/usr/local/php-7.2.11_fpm/etc --with-openssl=/usr/local/lab/openssl-1.0.2p --with-libxml-dir=/usr --with-zlib-dir=/usr/local/lab/zlib-1.2. --with-bz2 --enable-calendar --with-curl=/usr/local/lab/curl-7.36. --enable-dba --enable-exif --enable-ftp --with-jpeg-dir=/usr/local/lab/jpeg-9b --with-png-dir=/usr/local/lab/libpng-1.6./ --with-freetype-dir=/usr/local/lab/freetype-2.5. --with-gd=/usr/local/lab/libgd-2.1. --with-gettext --enable-mbstring --with-ldap=/usr/local/openldap-2.4. --with-mcrypt=/usr/local/lab/libmcrypt-2.5.8_php7. --with-mhash=/usr/local/lab/mhash-0.9.9.9 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-unixODBC=/usr/local/lab/unixODBC-2.3. --with-pdo-dblib=/usr/local/lab/freetds-0.92 --enable-zip --with-iconv-dir=/usr/local/lab/libiconv-1.14 --with-fpm-user=apache --with-fpm-group=users --enable-fpm --with-xmlrpc --enable-soap --enable-mbregex --enable-opcache --enable-inline-optimization --enable-xml --enable-sockets --disable-debug --enable-pcntl --enable-shmop
- .编译安装完php后,要测试一个soap的支付接口,证明apiservice是可以使用的
- 测试soap的脚本
- <?php
- $buy_url = 'https://api.avangate.com/order/2.0/soap/?wsdl';
- //$buy_url = 'http://www.webxml.com.cn/WebServices/StockInfoWS.asmx?wsdl';
- $options = array(
- 'cache_wsdl'=>WSDL_CACHE_NONE,
- );
- try {
- $client = new SoapClient($buy_url, $options);
- } catch (\SoapFault $e) {
- $client = $e->getMessage();
- }
- var_dump($client);
- # 运行后报错:
- string() "SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://api.avangate.com/order/2.0/soap/?wsdl' : failed to load external entity "https://api.avangate.com/order/2.0/soap/?wsdl" "
- .在网上找了很多方法,主流的方法都测试过了发现不行
- 比如关闭ssl验证等
- 于是想快速yum安装php7..11看是否是环境的问题,下面是安装方法,安装好以后发现问题依旧
- a.安装php最新rpm包的yum源
- rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
- b.通过yum方式安装php7.2.11
- yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-xmlrpc php72w-soap php72w-pear php72w-dba php72w-bcmatch php72w-ldap php72w-mysqlnd php72w-mbstring php72w-odbc php72w-pdo
- .看到一个引入nusoap的方法
- nusoap是一个封装了saop常用方法的类库,直接引入就可以使用了
- # 引入nusoap这个库文件就可以搞定wsdl报错,如下
- [root@web01:/data/www/vhosts/film.wondershare.com/httpdocs/api/public]# cat printsoa.php
- <?php
- require_once("lib/nusoap.php");
- $buy_url = 'https://api.avangate.com/order/2.0/soap/?wsdl';
- $client = new nusoap_client($buy_url, "wsdl");
- // 避免乱码
- $client->soap_defencoding = 'UTF-8';
- $client->decode_utf8 = false;
- $client->xml_encoding = 'UTF-8';
- $options = array(
- 'cache_wsdl'=>WSDL_CACHE_NONE,
- );
- //$client->call('function_name', $options);
- var_dump($client);
- ?>
- https://sourceforge.net/projects/nusoap/files/nusoap/
- 让开发的同事研究一下使用方法应该就可以了
- ###################
- # 测试openssl-1.0.2p版本编译安装Php7.2.11(推荐)
- tar -zxf php-7.2..tar.gz
- cd php-7.2.
- ./configure --prefix=/usr/local/php-7.2.11_fpm --with-config-file-path=/usr/local/php-7.2.11_fpm/etc --with-openssl=/usr/local/lab/openssl-1.0.2p --with-libxml-dir=/usr --with-zlib-dir=/usr/local/lab/zlib-1.2. --with-bz2 --enable-calendar --with-curl=/usr/local/lab/curl-curl-7_62_0 --enable-dba --enable-exif --enable-ftp --with-jpeg-dir=/usr/local/lab/jpeg-9b --with-png-dir=/usr/local/lab/libpng-1.6./ --with-freetype-dir=/usr/local/lab/freetype-2.5. --with-gd=/usr/local/lab/libgd-2.1. --with-gettext --enable-mbstring --with-ldap=/usr/local/openldap-2.4. --with-mhash=/usr/local/lab/mhash-0.9.9.9 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-unixODBC=/usr/local/lab/unixODBC-2.3. --with-pdo-dblib=/usr/local/lab/freetds-0.92 --enable-zip --with-iconv-dir=/usr/local/lab/libiconv-1.14 --with-fpm-user=apache --with-fpm-group=users --enable-fpm --with-xmlrpc --enable-soap --enable-mbregex --enable-opcache --enable-inline-optimization --enable-xml --enable-sockets --disable-debug --enable-pcntl --enable-shmop
- # 使用系统默认的openssl编译安装php7.2.11
- ./configure --prefix=/usr/local/php-7.2.11_fpm --with-config-file-path=/usr/local/php-7.2.11_fpm/etc --with-openssl --with-libxml-dir=/usr --with-zlib-dir=/usr/local/lab/zlib-1.2. --with-bz2 --enable-calendar --with-curl=/usr/local/lab/curl-curl-7_62_0 --enable-dba --enable-exif --enable-ftp --with-jpeg-dir=/usr/local/lab/jpeg-9b --with-png-dir=/usr/local/lab/libpng-1.6./ --with-freetype-dir=/usr/local/lab/freetype-2.5. --with-gd=/usr/local/lab/libgd-2.1. --with-gettext --enable-mbstring --with-ldap=/usr/local/openldap-2.4. --with-mhash=/usr/local/lab/mhash-0.9.9.9 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-unixODBC=/usr/local/lab/unixODBC-2.3. --with-pdo-dblib=/usr/local/lab/freetds-0.92 --enable-zip --with-iconv-dir=/usr/local/lab/libiconv-1.14 --with-fpm-user=apache --with-fpm-group=users --enable-fpm --with-xmlrpc --enable-soap --enable-mbregex --enable-opcache --enable-inline-optimization --enable-xml --enable-sockets --disable-debug --enable-pcntl --enable-shmop
编译安装php7.2.30
# 编译安装php7.2.30
./configure --prefix=/usr/local/php7.2.30 --with-config-file-path=/usr/local/php7.2.30/etc --with-openssl=/usr/local/lab/openssl-1.0.2p --with-libxml-dir=/usr --with-zlib-dir=/usr/local/lab/zlib-1.2.11 --with-bz2 --enable-calendar --with-curl=/usr/local/lab/curl-7.36.0 --enable-dba --enable-exif --enable-ftp --with-jpeg-dir=/usr/local/lab/jpeg-9b --with-png-dir=/usr/local/lab/libpng-1.6.10/ --with-freetype-dir=/usr/local/lab/freetype-2.5.4 --with-gd=/usr/local/lab/libgd-2.1.1 --with-gettext --enable-mbstring --with-ldap=/usr/local/openldap-2.4.23 --with-mcrypt=/usr/local/lab/libmcrypt-2.5.8_php7.2 --with-mhash=/usr/local/lab/mhash-0.9.9.9 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-unixODBC=/usr/local/lab/unixODBC-2.3.2 --with-pdo-dblib=/usr/local/lab/freetds-0.92 --enable-zip --with-iconv-dir=/usr/local/lab/libiconv-1.14 --with-fpm-user=apache --with-fpm-group=users --enable-fpm --with-xmlrpc --enable-soap --enable-mbregex --enable-opcache --enable-inline-optimization --enable-xml --enable-sockets --disable-debug --enable-pcntl --enable-shmop
# make && make install
# 报错
/usr/bin/ld: cannot find -lpng12
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
# 解决办法
yum install -y libpng12-devel
ldconfig
make clean
# make && make install
centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展的更多相关文章
- centos7下编译安装php-7.0.15(PHP-FPM)
centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...
- Linux Centos7.2 编译安装PHP7.0.2
操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...
- centos7 编译安装 php7.3.11
1.安装依赖 yum install -y libxml2 *openssl* libcurl* libjpeg* libpng* freetype* libmcrypt* gcc gcc-c++ 2 ...
- Centos7.2 编译安装PHP7
PHP7,编译安装: 环境:centos7.2 (注意:因为我用的nginx, 此配置参数没有考虑到apache,所以不合适需要用apache的朋友照搬过去运行,但是可以参考.) 直接下载P ...
- centos7.6编译安装php7.3
刚开始搞环境装过集成,发现不好用,后来自己编译安装一些扩展啊设置的都很容易找到. 以前装过5.6.7.0发现不一样,最近出了7.3是php5速度的三倍,那有必要升级一下列. 由于之前安装过老版本,依赖 ...
- centos7下编译安装php7.3
一.下载php7.3的源码 https://www.php.net/downloads.php 下载php-7.3.4.tar.gz 二.安装gcc,gcc-c++,kernel-devel yum ...
- CentOS7.2编译安装PHP7.2.3之史上最详细步骤。
首先,我们的CentOS版本信息如下: 开始我们的编译. 第一步: 将php安装包安装到/usr/src目录下. cd /usr/src && wget http://cn2.php. ...
- CentOS7手动编译安装内核4.11.7
1. 进入/usr/src/目录 cd /usr/src 2. 下载内核源码,网址:https://www.kernel.org wget https://cdn.kernel.org/pub/lin ...
- centos7.6环境编译安装php-7.2.24修复最新 CVE-2019-11043 漏洞
先编译安装php-7.2.24,然后编译安装扩展 主版本地址地址:https://www.php.net/distributions/php-7.2.24.tar.gz # 编译 php-7.2.24 ...
随机推荐
- Jenkins下载历史Build版本的归档文件
/root/.jenkins/jobs/zgg-crm-pre/builds//com.zgg$crm/archive/com.zgg/crm/0.0.1/crm-0.0.1.war https:// ...
- [模板] 二分图博弈 && BZOJ2463:[中山市选2009]谁能赢呢?
二分图博弈 from BZOJ 1443 游戏(二分图博弈) - free-loop - 博客园 定义 1.博弈者人数为两人,双方轮流进行决策. 2.博弈状态(对应点)可分为两类(状态空间可分为两个集 ...
- P1137 旅行计划
/*拓扑排序去寻找点的拓扑序 便于DP,那么怎么去找 首先邻接表存边,然后dfs搜寻每一个点 最后进行拓扑排序,找到拓扑序*/ #include<bits/stdc++.h> ; ; us ...
- P2613 有理数取余
原题链接 https://www.luogu.org/problemnew/show/P2613 在这里虽然是讲洛谷的题解,但用到的数论知识,归并到数论里也不为过! 进入正题: 首先看到题面:给出一个 ...
- ☆ [WC2006] 水管局长 「LCT动态维护最小生成树」
题目类型:\(LCT\)动态维护最小生成树 传送门:>Here< 题意:给出一张简单无向图,要求找到两点间的一条路径,使其最长边最小.同时有删边操作 解题思路 两点间路径的最长边最小,也就 ...
- MT【318】分式不等式双代换
已知$a,b>0$且$\dfrac{1}{a}+\dfrac{1}{b}=\dfrac{2}{3}$,求$\dfrac{1}{a-1}+\dfrac{4}{b-1}$的最小值. 解:令$m=\d ...
- tomcat在windows及linux环境下安装
下载tomcat 下载地址: https://tomcat.apache.org/download-90.cgi 7,8,9的版本都可以下,这里下载最新版本 注意:Binary是编译好的,可以直接使用 ...
- Java基础 -- 访问控制权限
一 包:库单元 假设我们存在两个类名相同的类,如果没有一定的措施对其进行区分,就会无法区别到底使用的是哪一个类.因此java引入了包来进行名字空间管理. 包(类库)包含有一组类,这些类在单一的名字空 ...
- 什么是javabean及其用法(转)
因工作需要 需要学习jsp方面的知识 这篇博客文章写得比较全面 我记录下: 一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个 ...
- spring boot本地调试服务器部署项目
项目本地测试然后发布到服务器上,各种BUG层出不穷.那么下面配置下,然后在本地调试部署在服务器上的程序吧 一.首先idea打开你的项目,服务器上传打包的程序.然后如下命令启动(linux),绿色参数为 ...