feuerjinn Geschrieben 15. September 2015 Geschrieben 15. September 2015 Hallo. Ich werde in den nächsten Tagen eine Umstrukturierung meiner dynamischen Dokuwiki Informationsanzeige umsetzen und muss dazu ein bisheriges Shell-Skript durch ein PHP-Interface ersetzen. Als Backend läuft auf 2 Linux-Hosts ein Shell-Skript alle 15 Minuten und parst Informationen. Diese Informationen werden im php-ini Format im htdocs des Apache bereitgestellt. Das Frontend ist ein Dokuwiki auf einem Windows-Server mit IIS und PHP. In dem Dokuwiki wird der integrierte PHP-Parser missbraucht um anhand der Informationen aus den php-ini files eine Dynamische Tabelle zu bauen. Als Anforderung besteht jetzt, das Backend-Shellskript in eine PHP Schnittstelle umzubauen. Ich möchte die Informationen nicht nur alle 15 Minuten haben sonder sie sollen live und zum Zeitpunkt der Abfrage gültig sein. Als erste Idee kam mir JSON: Die Anfrage kommt über POST oder GET rein und die PHP-Schnittstelle schickt die Informationen als JSON raus. Gibts noch Andere Möglichkeiten? Insbesondere hoffe ich auf Hilfe von lilith2k3 Das Ganze läuft im lokalen Intranet, daher ist verschlüsselung von Informationen kein Thema. Zitieren
sas86ks Geschrieben 16. September 2015 Geschrieben 16. September 2015 Was du suchst ist eine REST-Schnittstelle. PHP Schnittstelle (Interface) ist was vollkommen anderes. Dafür gibt es drölfhundert Frameworks. Einfach mal Googlen. Zitieren
feuerjinn Geschrieben 16. September 2015 Autor Geschrieben 16. September 2015 Ds bringt leider deutlich mehr Komplexität als Benefit. Ein Framework kommt leider nicht wirklich in Frage, siehe Komplexität. Ich nutze für meine Aufgaben lediglich den funktions-basierten Teil von PHP und lasse OOP komplett außen vor. Würde ich auch gerne so beibehalten, um meine Kollegen nicht zu sehr zu belasten. Als Schnittstelle sehe ich eher die Funktionsweise, ich leite Informationen ein und bekomme Informationen zurück. Wenn ich um REST nicht drumherum komme, könnte ich diese Art Abfrage/Query Service auch mit JSON als Transportformat realisieren? Oder benötige ich ein Framework um das PHP über ein spezielles Protokoll anzusprechen? Bin davon ausgegangen, dass ich auch HTTP_POST über Netzwerk ohne Formular verschicken kann. Zitieren
subnetzmaske Geschrieben 16. September 2015 Geschrieben 16. September 2015 (bearbeitet) Auf den Linux Hosts könntest du ein PHP-Script die Antwort im bisherigen Format generieren lassen, wenn ein entsprechendes Request von dem IIS-Wiki kommt. Die Formatierung bräuchtest du dann nicht zu ändern. In dem Dokuwiki wird der integrierte PHP-Parser missbraucht um anhand der Informationen aus den php-ini files eine Dynamische Tabelle zu bauen. Dokuwiki hat einen PHP-Parser? Edit: Eigentlich könntest du das Shell-Script doch auch durch ein PHP-CLI Script ersetzen und es jede Minute laufen lassen. Ändern sich die Daten häufiger? Was für Daten sind das denn? Könntest du das Shell / PHP-Script nicht auch über inotify triggern? Bearbeitet 16. September 2015 von subnetzmaske Zitieren
feuerjinn Geschrieben 17. September 2015 Autor Geschrieben 17. September 2015 Der Code auf dem Dokuwiki wird mit den <php></php> Tags aufgerufen. Ist schon eklig wenn man daran denkt :beagolisc Die letzten 3 Jahre hat es auch gepasst. Alle 15 Minuten werden die Informationen aktualisiert. Natürlich haben wir das unseren nicht-technischen Kollegen oft nahe gebracht, allerdings wird immernoch davon ausgegangen, dass die Information zum Zeitpunkt des Abrufs aktuell ist. Deswegen die Änderung jetzt. Nja wir haben ca 60 Applikationsserver pro Linux-Host laufen. Davon die Konfigurationsdateien, wie Einstellungen, Ports, Anwendungsversion, Datenbank etc. Diese ändern sich ja nicht. Aber ob eine Anwendungsinstanz läuft oder nicht, das sind essentielle Informationen. Weiss auch nicht, ob PHP dafür geeignet ist 10 Dateien pro Instanz zu öffnen. Vielleicht sollte ich bei Shell bleiben und dieses mit exec ausführen.. Danke Euch jedenfalls. Zitieren
pr0gg3r Geschrieben 17. September 2015 Geschrieben 17. September 2015 Du brauchst doch nur eine PHP-Datei, die die Daten empfängt (server Name, Anwendungsinstanzen/Prozesse, Serverconfig, ...). Diese Daten kannst du ganz einfach vom Server aus (curl o.ä.) an ein PHP-Script per GET oder besser noch per POST übertragen und dann in eine Datenbank/Datei/sonstwo speichern und in deinem Wiki in deinem <php>...</php>-Bereich auslesen. Natürlich hat man dabei immer eine gewisse Latenz, zB wenn die Daten jetzt geändert werden aber erst in 5 Minuten übermittelt werden, stimmen sie nicht. Wenn du die Daten tatsächlich in Echtzeit haben willst, muss dein <php>...</php>-Script im Dokuwiki den Server abfragen der dann die Antwort liefert. Dann brauchst du dort eben einen Dienst (Webserber oder irwas anderes) das die Daten generiert und zurück gibt. Zitieren
subnetzmaske Geschrieben 17. September 2015 Geschrieben 17. September 2015 Nja wir haben ca 60 Applikationsserver pro Linux-Host laufen. Davon die Konfigurationsdateien, wie Einstellungen, Ports, Anwendungsversion, Datenbank etc. Diese ändern sich ja nicht. Aber ob eine Anwendungsinstanz läuft oder nicht, das sind essentielle Informationen. Scheint eine interessante Umgebung zu sein Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.