Dit is een topic in Community » Forum » Pro » Web ontwikkeling

PHP: server OS verkrijgen?

vikking

vikking op 17 juni 2007 #

Ik zou moeten kunnen weten op welk OS de server loopt waarop mijn script loopt. Ik heb $_SERVER['SERVER_SOFTWARE'] al gevonden, maar dan geeft ie bij Mac OS X en Linux gewoon Unix (Windows geeft win32, wat goed is ^^). Is er een manier om toch te weten te komen of mijn server Mac OS X of Linux loopt? Bedankt!

iJoost op 17 juni 2007 #

Ik zou het gewoon even vragen als ik jou was.. Of anders misschien http://uptime.netcraft.com/up/graph?site=vikking20.deviantart.com

madcat

madcat op 17 juni 2007 #

hier heb je een lijstje die je kan gebruiken: http://nl3.php.net/reserved.variables http://www.ordersomewherechaos.com/rosso/xssi/background/environmentvars-func.shtml SERVER_SOFTWARE is eigenlijk wel de juiste, OSX is ook unix. Wat je altijd nog kan doen is een POST doen om vervolgens de HTTP_USER_AGENT uit te lezen, daar staat soms meer informatie.. maar is eigenlijk niet te vertrouwen.

vikking

vikking op 17 juni 2007 #

Ik zal even precisieren voor wat ik het nodig heb ^^. Ik ben bezig om in PHP een controller voor iTunes te maken. In Windows gaat dit met: $itunes_handle = new new COM("iTunes.application") en dan bv om te play/pausen: $itunes_handle->PlayPause(); op Mac OS X moet ik om te play/pausen dit doen: exec("osascript -e 'tell app "iTunes" to playpause'"); (nog niet getest of dat zou werken omdat de beveiliging in Mac OS X normaal nogal hoog is, en dat het OS gaat tegenhouden om vanuit een PHP script een shell command uit te voeren). Dus @iJoost: ik moet die niet van deviantart weten en @madcat: bennik al eens doorgelopen, niets interessants gevonden. Toch al bedankt :D

madcat

madcat op 18 juni 2007 #

wat je altijd kan doen is kijken of een bepaald bestand bestaat... bijvoorbeeld /mach als dat bestand bestaat.. kan je er vrij zeker van zijn dat het een osx systeem is. Het is niet netjes, maar werkt wel

psuedo op 18 juni 2007 #

gebruik gewoon phpinfo(); en kijk of het daarin staat want ik krijg gewoon: System: Darwin Kernel Version ***; ***/RELEASE_PPC Power Mac zo niet, geeft die global server_software geen versie van UNIX en is die gerelateerd aan OSX?

vikking

vikking op 18 juni 2007 #

Oké ik heb het gedaan gekregen met phpinfo(INFO_GENERAL). Dit is de functie die ik nu gebruik (voor andere mensen die er misschien achter zoeken ^^): function get_platform($full = false){ ob_start(); phpinfo(INFO_GENERAL); $info = ob_get_contents(); ob_end_clean(); $temp_arr = explode("n", $info); $system_string = trim(str_replace("System ", "", strip_tags($temp_arr[31]))); if($full){ return $system_string; } $words = explode(" ", $system_string); if(strtolower($words[0]) == "windows"){ return "win"; }elseif(strtolower($words[count($words) - 1]) == "macintosh"){ return "mac"; }else{ return false; } } Ik moet nog eens zien wat de string is op een linux server, dus momenteel even in de code gewoon een return false. Ik sta open voor verbeteringen ^^.

CaPS_ op 18 juni 2007 #

Je kunt ook simpelweg de constante PHP_OS gebruiken. Zie http://www.scriptorama.nl/tips-tricks/portable-php-scripts voor meer info & meer handige constanten.

Je kunt alleen reageren met een gratis OMT account.
Log in of registreer.

Inloggen

Over dit topic

Gestart op 17 juni 2007 door vikking

Laatste reactie door CaPS_

Reageer op dit topic