php平滑升级
php平滑升级
1.既然是平滑升级,是不需要宕机,也不需要停止服务,是不存在关闭网站的说法
2.而升级最后的重启,重启的是PHP加载的配置文件,不影响你当前运行的网站
3.php-fpm是属于FastCgi,一旦启动是在内存中跑的,和你编译升级的过程没有任何关系
系统:centos6.8
php环境:php5.3.29
升级版本:php5.4.45
下载php地址:http://www.php.net/distributions/php-5.4.45.tar.gz
将php5.3.29安装目录config.nice复制到php-5.4.25
[root@localhost php-5.4.45]# cp /php-5.3.29/config.nice /usr/local/src/php-5.4.45
[root@localhost php-5.4.45]# cd php-5.4.45/
[root@localhost php-5.4.45]# ./config.nice
[root@localhost php-5.4.45]# make ZEND_EXTRA_LIBS='-liconv'
[root@localhost php-5.4.45]# make install
升级完成后建议执行命令:
You may want to add: /usr/local/php5/lib/php to your php.ini include_path
/usr/local/src/php-5.4.45/build/shtool install -c ext/phar/phar.phar /usr/local/php5/bin
ln -s -f /usr/local/php5/bin/phar.phar /usr/local/php5/bin/phar
Installing PDO headers: /usr/local/php5/include/php/ext/pdo/
安装中可能遇到错误

原因:在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。
第一种解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。
第二种解决方法:
make ZEND_EXTRA_LIBS='-liconv'
ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/
curl升级
情况说明:curl是默认使用yum安装SSL version为NSS,现有项目需要支持OpenSSL。
当前curl版本

phpinfo输出信息

下载最新的curl:https://curl.haxx.se/download/curl-7.54.1.tar.gz
开始升级:
[root@IM-web-03 html]# rpm -qa |grep curl
libcurl-devel-7.19.7-53.el6_9.x86_64
curl-7.19.7-53.el6_9.x86_64
libcurl-7.19.7-53.el6_9.x86_64
python-pycurl-7.19.0-9.el6.x86_64
[root@IM-web-03 html]# rpm -e curl-7.19.7-53.el6_9.x86_64 --nodeps
[root@IM-web-03 ~]# tar xvf curl-7.54.1.tar.gz
[root@IM-web-03 ~]# cd curl-7.54.1
[root@IM-web-03 curl-7.54.1]# ./configure --prefix=/usr/local/curl --without-nss --with-ssl #关闭NSS 开启OpenSSL
[root@IM-web-03 curl-7.54.1]# make
[root@IM-web-03 curl-7.54.1]# make install
[root@IM-web-03 curl-7.54.1]# rm -rf /usr/lib64/libcurl.so.4* #删除原有的动态库
[root@IM-web-03 curl-7.54.1]# ln -s /usr/local/curl/lib/libcurl.so.4* /usr/lib64/ #将新动态库放到对应位置
[root@IM-web-03 curl-7.54.1]# ldconfig #刷新动态库
[root@IM-web-03 ~]# cd php-5.3.29/ext/curl/
[root@IM-web-03 curl]# /usr/local/php5/bin/phpize
[root@IM-web-03 curl]# ./configure --with-curl=/usr/local/curl/ --with-php-config=/usr/local/php5/bin/php-config
[root@IM-web-03 curl]# make
[root@IM-web-03 curl]# make install
[root@IM-web-03 curl]# vim /usr/local/php5/etc/php.ini
添加:extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/curl.so"
[root@IM-web-03 curl]# /etc/init.d/php-fpm restart
升级后查看版本curl、PHPinfo版本信息


php平滑升级的更多相关文章
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- Nginx在线服务状态下平滑升级或新增模块的详细操作
今天应开发的需求,需要在Nginx增加一个模块,并不能影响现有的业务,所以就必须要平滑升级Nginx,好了,不多说了 1:查看现有的nginx编译参数 /usr/local/nginx/sbin/ng ...
- 让你的网站免费支持 HTTPS 及 Nginx 平滑升级
为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...
- nginx 平滑升级tengine
wget http://tengine.taobao.org/download/tengine-1.5.1.tar.gz //下载Tengine1.5.1版本 tar zxvf tengine-1. ...
- 源码安装nginx以及平滑升级
源码安装nginx以及平滑升级 ...
- nginx平滑重启与平滑升级的方法
如何实现nginx平滑重启与平滑升级? 平滑重启 kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid` 平滑升级nginx: cd /yujialin ...
- Nginx的平滑重启和平滑升级
一,Nginx的平滑重启如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,可以发送系统信号给Nginx主进程的方式来进行.在重启之前,要确认Nginx配置文件的语法是正确的. ...
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
Nginx 的启动 假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...
- Nginx1.8.0版本平滑升级新版本1.9.7
原文:http://www.jb51.net/article/79878.htm 首先查看现在环境nginx的版本为1.8.0 编译的参数只指定了安装路径: 复制代码代码如下: [root@local ...
- nginx的平滑升级
一:解释nginx的平滑升级 随着nginx越来越流行,并且nginx的优势也越来越明显,nginx的版本迭代也来时加速模式,1.9.0版本的nginx更新了许多新功能,例如stream四层代理功能, ...
随机推荐
- BZOJ 4003: [JLOI2015]城池攻占 左偏树 可并堆
https://www.lydsy.com/JudgeOnline/problem.php?id=4003 感觉就是……普通的堆啊(暴论),因为这个堆是通过递归往右堆里加一个新堆或者新节点的,所以要始 ...
- [CodeVS1243]网络提速
题目大意: 有n个点的连通图,有m次可以将某一条边权值减半的机会. 不同的机会可以叠加作用于同一条边. 求1~n的最短路. 思路: 拆点,记录1到每个点在使用不同次数的机会后的最短路,然后直接跑Dij ...
- UVA 350 Pseudo-Random Numbers
Pseudo-Random Numbers Computers normally cannot generate really random numbers, but frequently are ...
- DOM-XML(解析与创建)
/** * 读取(解析)xml文件 * @author Administrator * */ public class DOMRead { public static void main(String ...
- javascript小记-作用域
一.全局作用域 全局作用域的变量不论在什么时候都可以直接引用,而不必通过全局对象:满足以下条件的变量属于全局作用域:1.在最外层定义的变量2.全局对象的属性3.任何地方隐式定义的变量(未定义直接赋值的 ...
- winform打开进程与关闭进程
#region 判断某进程名是否运行 /// <summary> /// 关闭指定名称的进程 /// </summary> /// <param name="p ...
- 技术交流:DDD在企业开发的案例分享
背景 因为工作上的原因,这次技术交流准备的不够充分,晚上通宵写的演示代码,不过整个过程还是收获蛮大的,具体如下: 对原子操作有了更深入的了解,自己写的无锁循环队列(有点类似 RingBuffer)终于 ...
- .NET:CLR via C# Compute-Bound Asynchronous Operations
线程槽 使用线程池了以后就不要使用线程槽了,当线程池执行完调度任务后,线程槽的数据还在. 测试代码 using System; using System.Collections.Generic; us ...
- python笔记30-docstring注释添加变量
前言 python里面添加字符串注释非常简单,如何将变量放入 python 的函数注释里面呢? docstring也就是给代码加注释的内容了,python可以给函数,类.方法,模块添加注释内容,注释标 ...
- linux 监控CPU 内存情况
htop