2010-10-07 6 views
0

Maintenant, je développe un serveur web SNMP et je veux obtenir les données de MIB dans Windows pour les insérer dans la base de données MySql. J'utilise une connexion SNMP qui fournit en PHP, donc je veux que mon script php fonctionne toujours et aucune interface en arrière-plan pour mettre à jour la base de données. Puis-je faire comme ça ou il y a la meilleure façon de faire. Aidez-moi, s'il vous plaît.Puis-je exécuter un script php en mode arrière-plan?

Répondre

1

Vous aurez besoin de quelque chose comme un démon en php, bien que ce ne soit pas la meilleure façon de le faire, c'est possible. Lancez simplement votre script php depuis la ligne de commande (environnement CLI php) et séparez-le de la console en tant que nouveau processus. Le démarrage dépend de votre système d'exploitation, mais dans les deux cas, un script de console simple fera l'affaire. Ensuite, vous n'avez qu'à vous assurer que votre script PHP ne finit jamais. Utilisez ce script sans fin pour interroger votre agent SNMP et écrire les valeurs dans MySQL. Concevoir un autre groupe de scripts PHP pour la lecture de la base de données et l'affichage des valeurs dans une page Web. Remarque: PHP n'a pas été conçu à cette fin, à savoir l'implémentation d'un démon résident qui se comporte comme une sorte d'application, ce qui peut facilement vous poser des problèmes de consommation et de traitement de la mémoire (pas de multi-threading!).

Je recommande d'utiliser une autre langue pour le service démon, c'est-à-dire Java. Il ya une bibliothèque open source gratuite SNMP4j qui est facile à utiliser et vous permet de réaliser votre poller en quelques minutes (je dirais même qu'il est beaucoup plus mature que l'extension SNMP en PHP).

+0

je vous remercie beaucoup pour votre suggestion, je vais l'essayer. – PlodPla