多版本php共存导致的问题
程序员文章站
2022-04-10 16:28:04
...
这有一台服务器,使用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路径搞对
推荐阅读
-
win2003下PHP使用preg_match_all导致apache崩溃问题的解决方法
-
Linux系统下多版本php共存的解决方案(超简单)
-
php+AJAX传送中文会导致乱码的问题的解决方法
-
关于PHP5.6+版本“No input file specified”问题的解决
-
Ubuntu18.0 解决python虚拟环境中不同用户下或者python多版本环境中指定虚拟环境的使用问题
-
PHP中使用foreach和引用导致程序BUG的问题介绍
-
CentOS下与Apache连接的PHP多版本共存方案实现详解
-
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
-
[PHP] 运维新增服务器导致的附件上传失败问题
-
php-fpm重启导致的程序执行中断问题详解