Search code examples
phpapacheamqp

Class 'AMQPConnection' not found; AMQP is installed, but not shown in phpinfo


I am receiving the error:

Fatal error: Class 'AMQPConnection' not found

I have installed it following http://php.net/manual/fa/amqp.installation.php

and:

extension=amqp.so

has been added to the main php.ini file and also the virtualhost's own.

and apache has been restarted.

On phpinfo, amqp appears under "Additional ini files parsed":

/etc/php5/cgi/conf.d/05-opcache.ini, /etc/php5/cgi/conf.d/10-pdo.ini, /etc/php5/cgi/conf.d/20-curl.ini, /etc/php5/cgi/conf.d/20-gd.ini, /etc/php5/cgi/conf.d/20-imap.ini, /etc/php5/cgi/conf.d/20-json.ini, /etc/php5/cgi/conf.d/20-mysql.ini, /etc/php5/cgi/conf.d/20-mysqli.ini, /etc/php5/cgi/conf.d/20-pdo_mysql.ini, /etc/php5/cgi/conf.d/20-readline.ini, /etc/php5/cgi/conf.d/25-amqp.ini

However the main amqp block which should appear under Configuration doesn't exist.

So it's almost like it's installed but not started / installed correctly.

When restarting apache it gives no errors. So I am not sure where to look for any errors / reasons why it might not be starting or loading into phpinfo.


Solution

  • Solved it.

    I cleared out all the librabbit files that find -iname "rabbit" could find in /usr.

    Reinstalled rabbitmq-c and amqp v 1.6 beta 3

    Then received the error in apacge start up logs:

    PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/amqp.so' - librabbitmq.so.4: cannot open shared object file: No such file or directory in Unknown on line 0

    So it seemingly couldn't find librabbit.so.4 so I created a symlink to where it was looking, restarted apache and the issue is resolved.

    Thanks