phpphp-amqp

undefined symbol: amqp_ssl_socket_set_verify_peer in Unknown on line 0


Just updated PHP to 5.6.30 and every PHP request produces a WARNING

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/amqp.so' - /usr/lib64/php/modules/amqp.so: undefined symbol: amqp_ssl_socket_set_verify_peer in Unknown on line 0

Package php-pecl-amqp-1.8.0-1.el6.remi.5.6.x86_64 is installed and the latest version.

I use CentOS release 6.7 (Final)


Solution

  • I can only reproduce with librabbitmq-last version 0.7.1

    # yum --enablerepo=remi-php56 install php-pecl-amqp
    ...
    Installed:
      php-pecl-amqp.x86_64 0:1.8.0-1.el6.remi.5.6                                                                                                                                       
    
    Dependency Installed:
      librabbitmq-last.x86_64 0:0.8.0-1.el6.remi                                                                                                                                        
    
    # php -v 
    PHP 5.6.30 (cli) (built: Jan 19 2017 08:09:42) 
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    
    # php -m | grep amqp
    amqp
    

    So ensure you have latest librabbitmq-last version 0.8.0 (in "remi-safe" repository, which is required and enabled by default)

    P.S. indeed, this symbol was not in 0.7.x, but was introduced in 0.8.0