设为首页 收藏本站
查看: 1449|回复: 0

[经验分享] php的版本升级

[复制链接]

尚未签到

发表于 2018-12-16 08:38:26 | 显示全部楼层 |阅读模式
  为什么要写这篇文章也是源于我犯了一个错误,还是今天发现的。

今天我尝试想把 php的redis 扩展升级为最新的


  然后为了不影响本地开发环境的影响我傻傻的复制了一份 如图所示


  [root@localhost php]# ll
  total 16
  drwxr-xr-x 9 root root 4096 Nov 10  2015 5.4.45
  drwxr-xr-x 9 root root 4096 Aug  3 10:37 5.4.45.bak
  drwxr-xr-x 9 root root 4096 Aug  3 09:52 7.0.2
  drwxr-xr-x 9 root root 4096 Jan 28  2016 7.0.2.bak
  lrwxrwxrwx 1 root root   21 May 16 21:02 php -> /usr/local/php/5.4.45
  [root@localhost php]#
  

  在这里说明一下 对于php 的版本我采用的是软连接


  [root@localhost php]# which php
  /usr/bin/php
  [root@localhost php]# ll /usr/bin/php
  lrwxrwxrwx 1 root root 26 Jan 29  2016 /usr/bin/php -> /usr/local/php/php/bin/php
  [root@localhost php]#
  

  为了灵活的更新php  使用ln 一直只对/usr/local/php/php 这个文件做软连接  这样我想切换7.0.2
只需要 ln -snf /usr/local/php/7.0.2 /usr/local/php/php 即可


  [root@localhost php]# ln -snf /usr/local/php/7.0.2 /usr/local/php/php
  [root@localhost php]# php --version
  PHP 7.0.2 (cli) (built: Jan 29 2016 01:31:08) ( NTS )
  Copyright (c) 1997-2015 The PHP Group
  Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
  [root@localhost php]#
  

  回到主题

我傻傻的复制了一份出来 本来想先升级 5.4.45.bak 但是不然。


  more information, such as the ld(1) and ld.so(8) manual pages.
  ----------------------------------------------------------------------
  Installing shared extensions:     /usr/local/php/5.4.45/lib/php/extensions/no-debug-non-zts-20100525/
  [root@localhost redis-2.2.8]#
  

  不管是我定义 php-config  phpize 这两个文件在/usr/local/php/5.4.45.bak/bin下  依然更新到了 /usr/local/php/5.4.45
  

  然后进行测试  干掉/usr/local/php/5.4.45

后来就开始出问题了
  

  [root@localhost redis-2.2.8]# /usr/local/php/5.4.45.bak/bin/phpize
  Cannot find build files at '/usr/local/php/5.4.45/lib/php/build'. Please check your PHP installation.
  

  [root@localhost redis-2.2.8]#
  

  

  第一反应就是/usr/local/php/5.4.45.bak/bin/phpize 这个脚本有问题


  [root@localhost redis-2.2.8]# cat /usr/local/php/5.4.45.bak/bin/phpize|less
  #!/bin/sh
  

  # Variable declaration
  prefix='/usr/local/php/5.4.45'
  datarootdir='/usr/local/php/5.4.45/php'
  exec_prefix="`eval echo ${prefix}`"
  phpdir="`eval echo ${exec_prefix}/lib/php`/build"
  includedir="`eval echo ${prefix}/include`/php"
  builddir="`pwd`"
  SED="/bin/sed"
  

果然 他在开始就定义了路径 然后继续测试 改路径

我使用替换但是提示我有 3列被修改了


  $SED \
  -e "s#/usr/local/php/5.4.45.bak#$prefix#" \
  < "$phpdir/phpize.m4" > configure.in
  }
  phpize_autotools()
  {
  $PHP_AUTOCONF   || exit 1
  $PHP_AUTOHEADER || exit 1
  }
  # Main script
  

  case "$1" in
  # Cleanup
  --clean)
  3 substitutions on 3 lines
  
然后我搜索了一下  带这个路径的到底有多少


  [root@localhost 5.4.45.bak]# grep -rl "5.4.45" .
  ./php/man/man8/php-fpm.8
  ./php/man/man1/php.1
  ./php/man/man1/phpize.1
  ./php/man/man1/php-config.1
  ./php/man/man1/phar.1
  ./bin/php
  ./bin/pear
  ./bin/phpize
  grep: ./bin/phar: No such file or directory
  ./bin/php-config
  ./bin/pecl
  ./bin/phar.phar
  ./bin/php-cgi
  ./bin/peardev
  ./sbin/php-fpm
  ./include/php/main/php_version.h
  ./include/php/main/build-defs.h
  ./etc/php-fpm.conf.default
  ./etc/pear.conf
  ./lib/php/extensions/no-debug-non-zts-20100525/redis.so
  ./lib/php/extensions/no-debug-non-zts-20100525/libevent.so
  ./lib/php/extensions/no-debug-non-zts-20100525/swoole.so
  ./lib/php/pearcmd.php
  ./lib/php/peclcmd.php
  ./lib/php/.registry/console_getopt.reg
  ./lib/php/.registry/pear.reg
  ./lib/php/.registry/xml_util.reg
  ./lib/php/.registry/archive_tar.reg
  ./lib/php/.registry/structures_graph.reg
  [root@localhost 5.4.45.bak]#
  

  我的天还有些多。。 我也只是个维护者  难道批量替换?  但是我觉得 还是老实 在安装一套吧。。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-651866-1-1.html 上篇帖子: 记一次php编译要点 下篇帖子: php中 curl模拟post发送json并接收json
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表