Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Vmware mit php starten

Frage Entwicklung PHP

Mitglied: braunimahony

braunimahony (Level 1) - Jetzt verbinden

09.04.2010, aktualisiert 16:56 Uhr, 2859 Aufrufe, 5 Kommentare

Ich möchte eine VMware über den Browser starten ...

Hallo,

Ich habe folgendes vor: Ich möchte eine VMWare sobald sie benötigt wird aus dem Web starten. dazu ist auf dem Server wo VMware läuft ein Apache Web Server installiert.

Mit folgendem Befehl möchte ich den Server starten:
passthru('vmrun.exe -T ws start "G:\***\Ubuntu.vmx"',$out);

Wobei zu sagen ist das vmrun.exe auf C: ist und Ubuntu auf G:

Doch es passiert nichts außer das sich der Browser dumm und dämlich lädt und irgendwann die Fehler Meldung "200 OK" kommt.

- Ich habe es schon über eine Batchdatei probiert
- habe in der apache config das VMdir als vhost eingetragen und versucht darin zu arbeiten.

Macht alles keinen Unterschied. Woran kann es liegen?

wenn ich passthru('vmrun.exe",$out) eingebe bekomme ich im browser die Help angezeigt wie es auch sein sollte!



Freue mich über jede Hilfe!

lg Marcel
Mitglied: matze2010
09.04.2010 um 17:31 Uhr
Hallo Marcel,

weshalb nimmst du nicht VMWare Server? Der ist eigentlich dafür vorgesehen und bringt eine schöne Oberfläche mit.

Lg
Matze
Bitte warten ..
Mitglied: braunimahony
09.04.2010 um 18:17 Uhr
Komfortabler ist das damit bestimmt ... Die idee ist folgende... Ich habe meinen home rechner als Test Server.... wenn ein Kunde sich den aktuellen stand anschauen möchte und ich die entsprechenden Server bzw. VMware nicht gestartet habe, soll diese automatisch gestartet werden sobald er versucht auf diese zuzugreifen. Wenn ich micht nicht täusche läuft der VMware Server garnicht auf einem normalen betriebssystem oder?

lg
Bitte warten ..
Mitglied: matze2010
09.04.2010 um 18:54 Uhr
Hallo,

doch, er läuft auch auf einem "normalen" Betriebssystem, was immer (Windows, Linux) du darunter verstehst. Das schöne ist, dass VMs dort "im Hintergrund" als Dienst laufen können, also ohne Zwang einer grafischen Darstellung. Somit ist auch Perfomancetechnisch ein kleines Plus drin, weil die "Anzeige" nicht noch vom Hostbetriebssystem angezeigt werden muss.

Bevor du mit PHP rumwirscht (das bekäme dein Kunde ja mit), wirkt es imho besser, sich auf einem VMWare-Server einzuloggen und dort eine VM zu starten. Du könntest z.B. deinem Benutzer einen eigenen Account geben, wo er dann nur seine VM sehen könnte und diese starten und stoppen kann, macht vielleicht mehr Eindruck, als ein PHP Skript.

Probiers einfach mal aus.

Bzgl. PHP, läuft

vmrun.exe -T ws start "G:\***\Ubuntu.vmx

in deiner Kommandozeile?
Kehrt der Aufruf sofort zurück? (darauf wartet nämlich passthru, und zwar eigentlich so lange, bis vmrun.exe beendet wurde. Je nachdem, wie lange das dauert?!)

200 OK
ist übrigens keine Fehlermeldung...

Lg
Matze
Bitte warten ..
Mitglied: braunimahony
09.04.2010 um 22:39 Uhr
Ich werde deinen Vorschlag mit dem VMware Server in betracht ziehen. Trotz allem möchte ich die lösung zu meinem Problem gerne in erfahrung bringen.

In der cmd läuft der befehl ohne Probleme. Nur nicht über php. Es startet noch nicht mal ein editor habe ich gerade festgestellt. Wenn ich system("notepad.exe") mache oder "C:\windows\notepad.exe"

Safemode ist Off.

Nein, er kehrt nicht zurück? läuft bis zur Zeitüberschreitung.

Das mit der 200 stand wirklich da Zuerst oben in H1 "OK" und dann fehlermeldung 200

Kann es sein das beim Apache eventuell die erlaubten Pfade angepasst werden müssen? so das z.B. der aufruf von Programmen in C:\Windows nicht erlaubt ist?!


lg
Bitte warten ..
Mitglied: matze2010
11.04.2010 um 14:57 Uhr
Hallo,

ne, den Editor startet er bei mir auch nicht, wenngleich er kurz cmd startet. Mit

<edit>
passthru("cmd /C notepad",$out);

startet ihn wohl.
/C sagt, alles was jetzt kommt ist ein Command.
</edit>

01.
<?php 
02.
passthru("cmd",$out); 
03.
?>
bekomme ich unter Windows die Ausgabe
01.
Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten. C:\xampp\htdocs>
Was auch läuft (laufen sollte):
01.
passthru("dir C:\\",$out);
Die Prozesse startet er ja jeweils als Apache Kindprozesse. (Bzw. IIS Kindprozesse des php-cgi). Bei einer Zeitüberschreitung killt der Apache/IIS dann den PHP-Prozess, und damit auch die Kindprozesse.

Wenn du z.B. ProcessExplorer von
http://technet.microsoft.com/de-de/sysinternals/bb896653.aspx
nutzt, dann erkennst du folgendes:

  1. Starte "cmd" und suche den Prozess in der Liste.
  2. Nun öffnest du mit "notepad" einen Editor, dieser taucht als "Kind" von "cmd" in der Liste auf.
  3. Ein Rechtsklick auf "cmd" und "KillProcessTree" ist vergleichbar mit dem Ende der Laufzeit deines Scriptes.
  4. Wie du erkennst, wird auch der Notepad-Prozess beendet.

Somit wird eben auch dein VMWare Programm gekillt, wenn die Laufzeit vorbei ist. Leider habe ich keine Möglichkeit gefunden, den Kindprozess einfach zu trennen. Du bräuchtest etwas wie einen kickoff-Prozess, welcher dann den gestarteten Prozess einfach dem Explorer "anhängt" und sich dann sofort beendet. Allerdings lässt sich dann eben in PHP nicht mehr der Rückgabewert auswerten, welchen du ja mit passthru bekommst. Also kannst du auch nicht sicher gehen, dass der VMWare Prozess wirklich läuft.

Lg
Matze
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Python
gelöst PHP Skript via Python starten mit JSON Objekt als Parameter (3)

Frage von nullacht15 zum Thema Python ...

PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Vmware
VMware ESXi für Schulen? (3)

Frage von mrserious73 zum Thema Vmware ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...