Библиотека AMQP не загружается для apache2, ubuntu 14.04
Я пытаюсь установить Rabbit MQ и библиотеку php AMQP на Ubuntu 14.04, но получаю сообщение об ошибке при запуске apache (в журнале ошибок apache)
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/amqp.so' - /usr/lib/php5/20121212/amqp.so: undefined symbol: amqp_error_string2 in Unknown on line 0
И AMQP не запускается.
Я следовал за этим: https://github.com/pdezwart/php-amqp/issues/87
А также...
locate librabbitmq.so
возвращает:
/usr/lib/librabbitmq.so.0
/usr/lib/librabbitmq.so.0.0.0
ls -al librabb * возвращает:
/usr/lib/librabbitmq.so.0 -> librabbitmq.so.0.0.0 (root / root)
librabbitmq.so.0.0.0 (root / root)
В / user / local / lib также есть:
librabbitmq.so -> /usr/lib/librabbitmq.so.0 (root / root)
Разрешения root / root и 755 на всех.
Любая помощь, наиболее ценится.
Спасибо
1 ответ
Установка amqp через pecl не работала для меня, поэтому мне пришлось скомпилировать клиентскую библиотеку RabbitMQ C AMQP и выполнить pecl amqp самостоятельно.
Клиентскую библиотеку RabbitMQ C AMQP можно найти по адресу https://github.com/alanxz/rabbitmq-c/ и Pecl amqp по адресу http://pecl.php.net/package/amqp.
Вот список команд, которые должны помочь в Ubuntu 14.04:
#create a directory for sources
mkdir ~/kit
cd ~/kit
#download and install the rabbitmq c amqp lib
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.5.1/rabbitmq-c-0.5.1.tar.gz
tar -zxvf rabbitmq-c-0.5.1.tar.gz
cd rabbitmq-c-0.5.1/
./configure
make
sudo make install
cd ..
#download and compile the amqp
wget http://pecl.php.net/get/amqp-1.4.0.tgz
tar -zxvf amqp-1.4.0.tgz
cd amqp-1.4.0/
phpize && ./configure --with-amqp && make && sudo make install
#Add amqp extension to php mods-availabile directory
echo "extension=amqp.so" > /etc/php5/mods-available/amqp.ini
#Enabled it in cli
cd /etc/php5/cli/conf.d/
ln -s ../../mods-available/amqp.ini 20-amqp.ini
php -m | grep amqp
#Enabled it in cli
cd /etc/php5/apache2/conf.d/
ln -s ../../mods-available/amqp.ini 20-amqp.ini
#restart Apache and than check phpinfo on web
service apache2 restart