多版本php共存导致的问题
程序员文章站
2022-05-09 13:38:56
...
这有一台服务器,使用nginx加php-fpm,里面装了2个版本的PHP,5.3和5.5,现在因为我要安装新redis扩展,于是我从官网下载redis扩展的源码包,进行编译安装,最后在php.ini中加入extension=redis.so最后重启php-fpm。
于是出现了报错,意思就是我编译的php扩展使用的版本不一样
PHP Warning: PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20121212
大概发现了是什么原因,因为使用php-fpm -v
的版本是5.5,php -v
显示的版本是5.3,phpize使用的是5.3的。
于是把编译好的so文件删除,重新解压源码包编译,使用5.5版本的phpize,发现重启的时候还是一样,并没用什么卵用。
$ /usr/local/php/bin/phpize -v
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
$ sudo /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
$ sudo make install
请问这种情况我要怎么解决啊?我不可能把5.3的版本删除的,因为是服务器上面可能是别人还用到了。
回复内容:
这有一台服务器,使用nginx加php-fpm,里面装了2个版本的PHP,5.3和5.5,现在因为我要安装新redis扩展,于是我从官网下载redis扩展的源码包,进行编译安装,最后在php.ini中加入extension=redis.so最后重启php-fpm。
于是出现了报错,意思就是我编译的php扩展使用的版本不一样
PHP Warning: PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20121212
大概发现了是什么原因,因为使用php-fpm -v
的版本是5.5,php -v
显示的版本是5.3,phpize使用的是5.3的。
于是把编译好的so文件删除,重新解压源码包编译,使用5.5版本的phpize,发现重启的时候还是一样,并没用什么卵用。
$ /usr/local/php/bin/phpize -v
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
$ sudo /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
$ sudo make install
请问这种情况我要怎么解决啊?我不可能把5.3的版本删除的,因为是服务器上面可能是别人还用到了。
PHP-config路径搞对
推荐阅读
-
lnmp安装多版本PHP共存的方法详解
-
php+AJAX传送中文会导致乱码的问题的解决方法
-
关于PHP5.6+版本“No input file specified”问题的解决
-
ECshop 迁移到 PHP7版本时遇到的兼容性问题
-
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
-
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
-
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
-
PHP关于IE下的iframe跨域导致session丢失问题解决方法
-
lnmp安装多版本PHP共存的方法详解
-
win2003下PHP使用preg_match_all导致apache崩溃问题的解决方法