Zum Inhalt springen

PHP Entwicklung einer Schnitstelle


Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von subnetzmaske
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...