• 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

  • 相关阅读:
    高德地图iOS SDK限制地图的缩放比例
    c++如何遍历删除map/vector里面的元素
    cocos2d-x与UIKit混合编程实现半透明效果
    cocos2d-x中的坑
    [redis]-redis查看key的大小(方法一在centos亲测通过)
    openssl 从cer文件中提取公钥
    SSL证书去除rsa私钥密码保护(.pem)
    RHEL8 CentOS8 下安装 MySQL 8.0<亲测>
    centos7+nginx使用Certbot让网站拥有https
    idea将javaweb项目部署到tomcat
  • 原文地址:https://www.cnblogs.com/byfboke/p/9166107.html
Copyright © 2020-2023  润新知