我试图在Ubuntu 14.04上安装Rabbit 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.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。
任何帮助,最感谢。
谢谢
通过pecl安装amqp没有为我工作,所以我不得不自己编译RabbitMQ C AMQP客户端库和pecl amqp。
RabbitMQ C AMQP客户端库可在https://github.com/alanxz/rabbitmq-c/和Pecl amqp http://pecl.php.net/package/amqpfind 。
下面是在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