zoukankan      html  css  js  c++  java
  • php版本跟扩展模块版本不兼容问题

    安装redis扩展后查看时候出现了这样报错:

    [root@localhost phpredis-develop]# php -m | grep redis
    PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0
    PHP Warning: PHP Startup: redis: Unable to initialize module
    Module compiled with module API=20131226
    PHP compiled with module API=20100525
    These options need to match
    in Unknown on line 0

    上边大概意思是,你的php鱼扩展模块的API不是同一个版本,不兼容

    导致原因:

    1.你的phpize有俩个版本,使用phpize一定要使用绝对路径,否则安装好的扩展模块会导致不兼容

    2.查看phpize位置:

    [root@localhost phpredis-develop]# find / -name phpize
    /usr/bin/phpize                    这个是默认版本的phpize
    /usr/local/php56/bin/phpize             这个是新安装php的phpize位置,要使用这个
    /data/php-5.6.36/scripts/phpize       这个是安装包的位置

    解决方法:

    [root@localhost phpredis-develop]# /usr/local/php56/bin/phpize

    [root@localhost phpredis-develop]# ./configure --with-php-config=/usr/local/php56/bin/php-config          #注意:这里的php-config也要用需要使用的php安装位置的php-config

    [root@localhost phpredis-develop]# make  test

    [root@localhost phpredis-develop]# make install
    Installing shared extensions: /usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/

    [root@localhost phpredis-develop]# cp /etc/php.ini /usr/local/php56/etc/php.ini          #/etc下的php.ini是默认版本的配置,你需要把这个拷贝到你安装的php位置下

    [root@localhost phpredis-develop]# vim  /usr/local/php56/etc/php.ini 

    extension=/usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/redis.so        #这个是你make install 安装后的模块生效文件的位置

    [root@localhost phpredis-develop]# /usr/local/php56/bin/php -m | grep redis         #注意php -m 要使用绝对路径去查看,否则还会出现不兼容问题
    redis

  • 相关阅读:
    算法-经典趣题-寻找假银币
    一天一个 Linux 命令(3):cat 命令
    算法-经典趣题-青蛙过河
    常用数据库有哪些?
    SpringBoot2.0入门教程(一) 快速入门,项目构建HelloWorld示例
    一天一个 Linux 命令(2):ls 命令
    算法-经典趣题-爱因斯坦阶梯问题
    一天一个 Linux 命令(1):vim 命令
    什么是开发环境、测试环境、UAT环境、仿真环境、生产环境?
    算法-经典趣题-渔夫捕鱼
  • 原文地址:https://www.cnblogs.com/byfboke/p/9166107.html
Copyright © 2011-2022 走看看