当前位置:Gxlcms > PHP教程 > 多版本php共存导致的问题

多版本php共存导致的问题

时间:2021-07-01 10:21:17 帮助过:2人阅读

这有一台服务器,使用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路径搞对

人气教程排行