Rumah >pembangunan bahagian belakang >tutorial php >多版本php共存导致的问题

多版本php共存导致的问题

WBOY
WBOYasal
2016-08-10 09:07:311185semak imbas

这有一台服务器,使用nginx加php-fpm,里面装了2个版本的PHP,5.3和5.5,现在因为我要安装新redis扩展,于是我从官网下载redis扩展的源码包,进行编译安装,最后在php.ini中加入extension=redis.so最后重启php-fpm。

于是出现了报错,意思就是我编译的php扩展使用的版本不一样

<code>PHP Warning:  PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212</code>

大概发现了是什么原因,因为使用php-fpm -v的版本是5.5,php -v显示的版本是5.3,phpize使用的是5.3的。

于是把编译好的so文件删除,重新解压源码包编译,使用5.5版本的phpize,发现重启的时候还是一样,并没用什么卵用。

<code>$ /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</code>

请问这种情况我要怎么解决啊?我不可能把5.3的版本删除的,因为是服务器上面可能是别人还用到了。

回复内容:

这有一台服务器,使用nginx加php-fpm,里面装了2个版本的PHP,5.3和5.5,现在因为我要安装新redis扩展,于是我从官网下载redis扩展的源码包,进行编译安装,最后在php.ini中加入extension=redis.so最后重启php-fpm。

于是出现了报错,意思就是我编译的php扩展使用的版本不一样

<code>PHP Warning:  PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212</code>

大概发现了是什么原因,因为使用php-fpm -v的版本是5.5,php -v显示的版本是5.3,phpize使用的是5.3的。

于是把编译好的so文件删除,重新解压源码包编译,使用5.5版本的phpize,发现重启的时候还是一样,并没用什么卵用。

<code>$ /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</code>

请问这种情况我要怎么解决啊?我不可能把5.3的版本删除的,因为是服务器上面可能是别人还用到了。

PHP-config路径搞对

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn