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