2012-08-30 1 views
5

Je souhaite utiliser l'éditeur/abonné ZeroMQ pour envoyer les données de mon application Web à plusieurs serveurs.Utilisation de ZeroMQ dans un script PHP dans Apache

J'utilise Apache et PHP pour l'application web, mon script php fonctionne comme suit:

//Initialization 
$context = new ZMQContext(); 
$publisher = $context->getSocket(ZMQ::SOCKET_PUB); 
$publisher->bind("tcp://*:5556"); 

//Then publishing for testing: 

$publisher->send("test"); 
$publisher->send("test"); 
$publisher->send("test"); 
$publisher->send("test"); 
$publisher->send("test"); 

Pour les tests je me suis adapté à un abonné de la documentation en python:

import sys 
import zmq 

# Socket to talk to server 
context = zmq.Context() 
socket = context.socket(zmq.SUB) 

socket.connect ("tcp://localhost:5556") 

# Subscribe to zipcode, default is NYC, 10001 
socket.setsockopt(zmq.SUBSCRIBE, "") 

print "Waiting..." 
# Process 5 updates 
for update_nbr in range (5): 
    string = socket.recv() 
    print string 

L'ensemble fonctionne quand j'exécute le script php à partir de la ligne de commande, mais ne fonctionne pas via Apache (lorsque le script est exécuté via un navigateur Web).

Y at-il quelque chose que je devrais faire à ma configuration d'Apache pour le faire fonctionner?

Merci

Alexandre

Répondre

Questions connexes