视频教程分类
推荐视频教程
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战Laravel基础与实战
  • UNI-APP开发(仿饿了么)UNI-APP开发(仿饿了么)
  • ThinkPHP6开发CMS系统ThinkPHP6开发CMS系统
  • 首页 >后端开发 >php教程 > 正文

    图文详解php怎么平滑升级

    转载2022-01-23 09:11:383395 关注公众号:每天精选资源文章推送

    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/

    安装中可能遇到错误

    5988ecc06f5d79a8edd008eb716bbd1.png

      原因:在安裝 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版本

    b7671b6ce8ff01be2afa83057a1d3b1.png

    phpinfo输出信息

    0664a607994c12127bec7a438a1c5da.png

    下载最新的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版本信息

    59fba6d3455b5539c74af01b6562d1e.png

    7f26bcccbcdb8b55e6dd052ae43b33a.png

    推荐学习:《PHP视频教程

    以上就是图文详解php怎么平滑升级的详细内容,更多请关注php中文网其它相关文章!

    高并发千万级数据库系统解决方案

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除

  • 相关标签:php
  • 相关文章

    相关视频


    专题推荐