Betriebssystem/Hardware ermitteln

Hallo Leute,

gibt es eine „saubere“ Funktion, das Betriebssystem bzw. die Hardware (Windows/Mac OS/Linux aber da z.B. auch ob die Software auf einem Raspberry Pi läuft) zu ermitteln?

Joachim

Bitte was? :slight_smile:

Gesendet von iPhone mit Tapatalk

Jedes OS hat andere Ansätze. Eine IPS gestütze Abfrage für alle OS zu erstellen, halte ich für schwierig / zu aufwendig…

Vorher würde ich auf einem Win Rechner „PRTG Netzwerk Monitor“ installieren. Damit lassen sich vollautomatisch die passenden Agenten einsetzen (sind bereits integriert) - und damit alle noch so erdenklichen Daten auslesen.
Dabei muss man sich keine Gedanken machen und welches OS es sich handelt.

Zu PRTG gibt’s hier schon ein paar Beiträge.

Ich würde dort ansetzen, wenn ich Windows / Linux / MacOS hätte.

Eventuell hier?
PHP: $_ENV - Manual
Michael

…weiß nicht so genau…[emoji848]

Mein erster - wenn auch „unsaubere“ - Ansatz wäre IPS_GetKernelDir gewesen, darüber könnte man dann vielleicht schon mal das Betriebssytem (Windows, Mac OS, Linux) unterscheiden. Wenn man das machen könnte, kann man vielleicht weiter in die Tiefe gehen (Windows-Version, Linux-Version etc.).

Joachim

Erzähl doch mal was du genau machen willst, dass die Unterscheidung benötigt.

paresy

…für mein GPIO-Modul wäre eine saubere Unterscheidung gut, weil es zumindest zunächst nur auf dem Raspberry laufen wird…

Joachim

Ich würde einfach überprüfen, ob die GPIOs korrekt verfügbar sind. Denn du kannst den Raspberry bestimmt im Kernel auch ohne GPIO Support kompilieren.

paresy

Hallo.

Hier mal meine Mini-Lösung für WIN/RasPi Unterscheidung.

	if (strpos( IPS_GetKernelDir(),":"))
	{
		//echo "Win";
	}
	else
	{
		//echo "Pi";
	}


Warum ich das brauch(t)e: Ich habe lange Zeit den Pi parallel zum Testen genutzt.
Und da war es praktisch…

…wäre auch mein Ansatz (siehe oben). Wenn man dann erst einmal die Richtung weiß, kann man dann ja auch weiter in die Tiefe gehen - falls erforderlich…

Joachim

Das liefert php doch frei Haus. Entweder phpinfo() parsen oderphp_uname(‚s‘) auswerten

Tommi

…das sieht gut aus! Sehr gut![emoji2]

Ganz vergessen: die Konstante PHP_OS kann man auch nutzen. Ist wahrscheinlich noch einfacher.

echo PHP_OS;