php的版本升级-创新互联

为什么要写这篇文章也是源于我犯了一个错误,还是今天发现的。

今天我尝试想把 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]#

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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:php的版本升级-创新互联
本文URL:http://scyanting.com/article/jccic.html