资讯专栏INFORMATION COLUMN

php平滑升级

AlexTuan / 2998人阅读

摘要:错误发生点在建立是出错,没給到要的函式库参数。第二种解决方法升级情况说明是默认使用安装为,现有项目需要支持。当前版本输出信息下载最新的开始升级关闭开启删除原有的动态库将新动态库放到对应位置刷新动态库添加升级后查看版本版本信息

php平滑升级
1.既然是平滑升级,是不需要宕机,也不需要停止服务,是不存在关闭网站的说法
2.而升级最后的重启,重启的是PHP加载的配置文件,不影响你当前运行的网站
3.php-fpm是属于FastCgi,一旦启动是在内存中跑的,和你编译升级的过程没有任何关系

系统:centos6.8
php环境:php5.3.29
升级版本:php5.4.45
下载php地址:http://www.php.net/distributi...
将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...
开始升级:

[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版本信息

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23306.html

相关文章

  • nginx平滑升级添加ssl实现站内https

    摘要:注意如果想完全实现全站,你的全站链接都得是的,否则绿锁会不显示。或者采取等其他措施实现。 操作目录在root的home下,/home /mt/server/nginx/sbin/nginx 这是x云默认nginx 路径 下载nginx1.8 stable wget http://nginx.org/download/nginx-1.8.0.tar.gz tar zxvf nginx-1...

    soasme 评论0 收藏0
  • 【深入浅出容器云】五分钟带你玩转Docker容器服务

    摘要:深入浅出容器云系列文章是由时速云出品,本文是第二篇,欢迎大家不吝赐教。容器服务是一种高度可扩展的高性能容器管理服务,服务于应用的完整生命周期。存储卷容器服务支持有状态和无状态服务。当容器重新部署时也会随着容器在不同主机之间迁移。 导语:随着以Docker为代表的容器技术在国内的迅速发展,容器云也逐渐被广大开发者所熟知,但容器云(CaaS)相比传统的云主机(IaaS)在实际应用中还存在着...

    AlexTuan 评论0 收藏0
  • Nginx信号处理与平滑升级

    摘要:接收到信号的旧的进程会关闭监听,但是还会处理当前的请求,处理完请求之后,旧的进程退出。首先,用新的二进制文件替换掉旧的,然后发送信号给进程。如果一个升级已经成功,然后你想只保留新的,那么发送信号给旧的进程让新的来提供服务原文翻译 Nginx进程分为master进程和worker进程,我们可以通过信号来控制master进程。默认情况下,Nginx会把它的master进程id写到/usr/...

    pumpkin9 评论0 收藏0
  • Moodle Local 插件讲解

    摘要:插件讲解插件在中相比于其他插件算是比较容易上手的一个插件,插件中前后台分离,不用遨游在杂糅前后端的代码里。学会插件是上手其他插件的前提,其实一旦学会插件也会发现其他插件不过是它的一种变种形式罢了,只要举一反三就能很快掌握。 Moodle Local 插件讲解 Local插件在Moodle中相比于其他插件算是比较容易上手的一个插件,Local插件中前后台分离,不用遨游在杂糅前后端的代码...

    Gu_Yan 评论0 收藏0
  • nginx使用replace-filter-nginx-module实现内容替换

    摘要:有时候我们想对响应例如接口返回的内容做些字符串,虽然可以使用各语言代码相关方法例如的进行替换,但是在层面替换是更方便的,无需修改代码。修改为注意需要添加。 有时候我们想对响应(例如PHP接口)返回的内容做些字符串,虽然可以使用各语言代码相关方法(例如PHP的str_replace)进行替换,但是在nginx层面替换是更方便的,无需修改代码。 约定:本文源代码目录统一放在:/root/s...

    0xE7A38A 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<