我试图在Ubuntu14.04上安装兔子MQ和php库AMQP,但是在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.0ls -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)权限为根/根,所有权限为755。
任何帮助,非常感谢。
谢谢
发布于 2014-09-03 08:59:32
通过pecl安装amqp对我没有作用,所以我不得不编译RabbitMQ C AMQP客户端库并亲自编写。
RabbitMQ C AMQP客户端库可以在https://github.com/alanxz/rabbitmq-c/和http://pecl.php.net/package/amqp的Pecl中找到。
下面列出了在ubuntu14.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 restarthttps://serverfault.com/questions/607993
复制相似问题