2010-09-08 43 views
0

Je reçois l'erreur suivante lors de l'exécution du code indiqué ci-dessous. J'ai installer l'extension AMQP à travers PECL et il se montre bien dans mon fichier php.ini quand je fais phpinfo à la fois depuis la ligne de commande et le navigateur.Impossible d'installer AMQP pour PHP - Erreur de symbole introuvable

<?php 
    // amqp rabbitmq client test 


    // Create a connection 
    $cnn = new AMQPConnection(); 
    exit(); 
?> 

Lorsque vous essayez d'exécuter ce code, je reçois cette erreur:

dyld: lazy symbol binding failed: Symbol not found: _amqp_new_connection 
    Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/amqp.so 
    Expected in: flat namespace 

dyld: Symbol not found: _amqp_new_connection 
    Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/amqp.so 
    Expected in: flat namespace 

Ce sont les instructions d'installation que je suivais:

Download rabbitmq-c lib from: http://hg.rabbitmq.com/rabbitmq-c/ (.zip file) 

Download codegen http://hg.rabbitmq.com/rabbitmq-codegen/summary (.zip file) 


unzip rabbitmq-c 

unzip codegen and put it into the rabbitmq-c lib and rename it codegen 

cd into rabbitmq-c dir 

autoreconf -i && ./configure && make && sudo make install 


#install the amqp extension 
sudo pecl install -f amqp 
+0

Quelle est la sortie de 'ldd/opt/local/lib/php/extensions/no-debug-non-zts-20090626/amqp.so'? – Mike

Répondre

1

Assurez-vous que librabbitmq est compilé sous la forme 32 bits (si php est 32bit). Cela m'a aidé.

Pour compiler en 32 bits, utilisez ./configure CFLAGS = "- m32" lors de la compilation de librabbitmq et de l'extension pecl amqp.