在centos6.5上升级php-libxml版本到2.9.0
当前系统,软件版本说明:
php 5.6.
libxml 2.7.
glibc 2.12
zlib 1.2.
xz-libs 4.999.
需求:
应开发的需求,线上环境,php-libxml版本升级到2.8以上。
升级步骤:
1、安装工具集
yum groupinstall -y 'development tools'
yum install kernel-headers -y
2、解决安装libxml2-1.9.0版本时,遇到的依赖关系
1)升级glibc版本 ( 版本 > glibc-2.12 )
centos6系统,官方支持升级的最高版本是glibc-2.12(即yum升级支持的最高版本)。
wget http://ftp.redsleeve.org/pub/steam/glibc-2.15-60.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/glibc-devel-2.15-60.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/glibc-common-2.15-60.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/glibc-headers-2.15-60.el6.x86_64.rpm rpm -Uvh glibc-2.15-.el6.x86_64.rpm glibc-devel-2.15-.el6.x86_64.rpm glibc-common-2.15-.el6.x86_64.rpm glibc-headers-2.15-.el6.x86_64.rpm
查看当前系统安装了glibc哪些包,以及最高支持版本:
# rpm -qa |grep glibc
glibc-2.15-.el6.x86_64
glibc-common-2.15-.el6.x86_64
glibc-devel-2.15-.el6.x86_64
glibc-headers-2.15-.el6.x86_64
# strings /lib64/libc.so. | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_PRIVATE
2)升级zlib版本 ( 版本 >= zlib-1.2.5 )
centos6系统,官方支持升级的最高版本是zlib-1.2.5。(即yum升级支持的最高版本)
wget http://ftp5.gwdg.de/pub/opensuse/repositories/home:/codice:/mono-redhat/CentOS_CentOS-6/x86_64/zlib-1.2.5-codice.4.1.x86_64.rpm
wget http://ftp5.gwdg.de/pub/opensuse/repositories/home:/codice:/mono-redhat/CentOS_CentOS-6/x86_64/zlib-devel-1.2.5-codice.4.1.x86_64.rpm
wget http://ftp5.gwdg.de/pub/opensuse/repositories/home:/codice:/mono-redhat/CentOS_CentOS-6/x86_64/zlib-static-1.2.5-codice.4.1.x86_64.rpm
rpm -Uvh zlib-1.2.-codice.4.1.x86_64.rpm zlib-devel-1.2.-codice.4.1.x86_64.rpm zlib-static-1.2.-codice.4.1.x86_64.rpm
3)python2.7支持
centos6.5中,官方默认的Python版本为2.6。要装2.7版本,需要修改yum源。
yum install epel-release -y
wget https://centos6.iuscommunity.org/ius-release.rpm
rpm -ivh ius-release.rpm
yum clean all
yum install python27 -y
4)升级xz-libs版本 ( 版本 > xz-libs-4.9 )
centos6.5,官方yum升级的最高版本是4.999.9
wget http://ftp.redsleeve.org/pub/steam/xz-libs-5.0.5-1.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/xz-devel-5.0.5-1.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/xz-5.0.5-1.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/xz-lzma-compat-5.0.5-1.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/xz-compat-libs-5.0.5-1.el6.x86_64.rpm rpm -Uvh xz-libs-5.0.-.el6.x86_64.rpm xz-devel-5.0.-.el6.x86_64.rpm xz-5.0.-.el6.x86_64.rpm xz-lzma-compat-5.0.-.el6.x86_64.rpm xz-compat-libs-5.0.-.el6.x86_64.rpm
3、升级libxml2
wget http://xmlsoft.org/sources/libxml2-devel-2.9.0-0rc0.x86_64.rpm
wget http://xmlsoft.org/sources/libxml2-2.9.0-0rc0.x86_64.rpm
wget http://xmlsoft.org/sources/libxml2-python-2.9.0-0rc0.x86_64.rpm rpm -Uvh libxml2-2.9.-0rc0.x86_64.rpm libxml2-devel-2.9.-0rc0.x86_64.rpm libxml2-python-2.9.-0rc0.x86_64.rpm
4、重新编译php
需要重新编译php,使升级的php-libxml生效。
进入php5.6.15的源码目录,重新编译php:
# cd php-5.6.
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-bcmath=shared --with-pdo_sqlite --with-gettext=shared --with-iconv --enable-ftp=shared --with-sqlite --with-sqlite3 --enable-mbstring=shared --enable-sockets=shared --enable-zip --enable-soap=shared --with-openssl --with-zlib --with-curl=shared --with-gd=shared --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mcrypt=shared --with-mhash=shared --enable-opcache --with-mysql=mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --without-pear --with-libdir=lib64 --disable-fileinfo
# make
替换生成的php、php-cgi程序文件:
# /etc/init.d/php-fpm stop
# mv /usr/local/php/bin/php /usr/local/php/bin/php.bak
# mv /usr/local/php/bin/php-cgi /usr/local/php/bin/php-cgi.bak
# cp -a sapi/cli/php /usr/local/php/bin/
# cp -a sapi/cgi/php-cgi /usr/local/php/bin/
# /etc/init.d/php-fpm start
查看php-libxml版本升级是否生效:
# /usr/local/php/bin/php -i|grep libxml
libxml Version => 2.9.
libxml
libxml2 Version => 2.9.
后续补充:
开启phpinfo访问,发现libxml版本仍是2.7.6。上述替换php、php-cgi程序的方法,是不能使得php-libxml版本升级生效的。
需要重新编译安装php(不同安装目录),才会生效。
在centos6.5上升级php-libxml版本到2.9.0的更多相关文章
- centos6.5上安装5.7版本的mysql
centos6.5上安装5.7版本的mysql https://www.cnblogs.com/lzj0218/p/5724446.html 设置root可以在本机以外的机器访问 mysql -uro ...
- 最简单的方式在linux上升级node.js版本
node的升级频率太高,n模块来升级是最方便的,网上看了很多资料介绍使用n模块,但是安装n模块之后却经常找不到这个命令 很多同学安装之后直接去使用n会发现命令不存在,就停留在这一步无法前进了. 解决 ...
- Centos6.5下升级Python版本
Cenos6.5升级Python2.6到2.7 1.下载源码包 wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz 2.进行 ...
- aliyun CentOS6.5 上 svn 安装笔记
为了方便管理自己的一些学习资料.总结等,在CentOS6.5上安装SVN,记录过程如下: 1.1 安装方式 独立服务器 fsfs SVN服务器有2种运行方式:独立安装.SVN+Apache.独立 ...
- CentOS6.9下升级默认的OpenSSH操作记录(升级到OpenSSH_7.6p1)
近期对IDC机房服务器做了一次安全漏洞扫描,漏扫结果显示服务器的OpenSSH版本太低(CentOS6默认是OpenSSH_5.3p1),存在漏洞隐患,安全部门建议升级到OpenSSH_7.6p1.升 ...
- CentOS6 系统下升级python后yum命令使用时报错
CentOS6 系统下升级python后yum命令使用时报错,如下: [root@xxxxxxx]#yumFile"/usr/bin/yum",line30exceptKeyboa ...
- CentOS6.5上安装Python2.7和PIP
目前大部分用户使用的CentOS6.5上默认的Python还是2.6版本.升级到Python2.7碰到很多问题.本文将介绍如何安装Python2.7. 1. 安装必要的准备包 安装过程将用到gcc,方 ...
- CentOS6、7升级Openssh至7.9
出于安全考虑,定期使用Nessus对服务器进行扫描,最新Nessus提示服务器的SSH版本有漏洞,所以把SSH升级到最新版本 1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /ro ...
- 解决centos6系统上python3—flask模块的安装问题
Flask 是一个使用 Python 编写的轻量级 Web 框架(所以我们前面花了那么多时间安装 Python3 呀).它被称为微型架构,因为其使用非常简单的核心以及功能丰富的扩展.虽然 Flask ...
随机推荐
- python之组合与继承的使用场景
1.什么时候使用类的组合?当类之间有显著的不同,并且较小的类是组成较大类所需要的组件,此时用类的组合较合理:场景:医院是由多个科室组成的,此时我们可以定义不同科室的类,这样医院的类我们可以直接使用各个 ...
- SQL 到 NOSQL 的思维转变
转自:http://blogread.cn/it/article/3130?f=wb SQL 到 NOSQL 的思维转变 NOSQL系统一般都会宣传一个特性,那就是性能好,然后为什么呢?关系型数据库发 ...
- android AndroidManifest.xml 属性详细解析
一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...
- 最简单的tomcat安装部署
[安装环境] 适用于所有Linux操作系统,本人使用的是Centos 7.4 [安装] 浏览器登陆到tomcat官网 http://tomcat.apache.org/ 点击左侧需要下载的版本 右键图 ...
- Cookie 工具类
一.导入 jar 包 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet ...
- 监控Weblogic计数器
- html5 过程解决问题收集
1.使用画布时报错误: Uncaught TypeError: Object [object Object] has no method 'getContext' . 解决方法: $(function ...
- Ajax发送GET和POST请求案例
使用ajax实现菜单联动 通常情况下,GET请求用于从服务器上获取数据,POST请求用于向服务器发送数据. 需求:选择第一个下拉框的值,根据第一个下拉框的值显示第二个下拉框的值 首先使用GET方式. ...
- ajax短轮询+php与服务器交互制作简易即时聊天网站
主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Server-sent Events). 本文主要介绍ajax短轮询的简易实现方式. 看懂此文 ...
- hdu 5335 Walk Out (2015 Multi-University Training Contest 4)
Walk Out Time Limit: 2000/10 ...