kann prozess nicht mehr über webseite beenden

Alles, was PHP betrifft, kann hier besprochen werden.

kann prozess nicht mehr über webseite beenden

Postby becksbierbauch » 25. March 2004 16:09

ich betreibe einen gamerserver, bei dem ich den usern die möglichkeit geben möchte diesen neu zu starten, wenn das teil nicht ordnungsgemäß läuft.
zu diesem zweck habe ich ein script gebastelt, welches mir ermöglicht meinen gameserver quasi fernzusteuern.

im folgende wird erst der prozess gekillt und danach eine batchdatei gestartet.
bis vor kurzem lief das auch alle einwandfrei. jetzt bin ich jedoch von meinem phptriad paket abgekommen und habe mich für xampp entschieden und nun funzt das ganze leider nicht mehr. ich nehme an, es muss nur ein kleines hebelchen irgendwo umgelegt werden. aber wo ???

hier mein script:
<html>
<head>
<title>Gameserver Restart</title>
</head>
<body>
<?php
system("taskkill /F /IM hf.exe /T");
echo "Jetzt geht er baden...";
echo "<br/>Fertig!";
echo "Jetzt wird er gestartet...";
exec("c:\\hf.bat");
?>
</body>
</html>

und hier die antwort meines apache logs:

Der Befehl "/taskkill" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Die Syntax f
linux is like a wigwam. no windows, no gates and a apache inside
becksbierbauch
 
Posts: 19
Joined: 18. February 2004 19:35
Location: Florstadt

Postby Wiedmann » 25. March 2004 16:23

kann es sein, dass der befehl "taskkill" in einer neuern php version anders lautet ??

"taskkill" ist keine Funktion von PHP, sondern ein Kommandozeilenprogramm was zu Windows XP gehört.
Wie es aussieht, findet er es ja nur nicht. Ruf es doch mal mit dem kompletten Pfad auf:
exec("C:\WINDOWS\system32\taskkill.exe /F /IM hf.exe /T");
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

schade

Postby becksbierbauch » 26. March 2004 08:28

das hat leider auch nicht geholfen :-(

ich denke aber, dass der webserver diesen befehl nicht verarbeiten kann.
wie gesagt es hat ja mit dem alten system funktioniert.

gibt es vielleicht eine sperre im apache, die es verhindert ein prg. auszuführen, oder ähnliches ?
linux is like a wigwam. no windows, no gates and a apache inside
becksbierbauch
 
Posts: 19
Joined: 18. February 2004 19:35
Location: Florstadt

Postby Stefan » 26. March 2004 10:54

Morsche,

safe_mode ON?

"php_admin_flag safe_mode OFF"
in der Direktive zum Host dürfte helfen.


Gruß
Stefan
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

safe mode on/off

Postby becksbierbauch » 26. March 2004 11:55

ich nehme an den sollte ich in der php.ini finden.

dort hatte ich schon alles, was mit "safe_mode =" stand auf
on gesetzt.
dieser satz "php_admin_flag safe_mode " ist allerdings überhaupt nicht zu finden.
also habe ich ihn eingefügt, was aber leider nix brachte :-(

und nu ???
linux is like a wigwam. no windows, no gates and a apache inside
becksbierbauch
 
Posts: 19
Joined: 18. February 2004 19:35
Location: Florstadt

Postby Stefan » 26. March 2004 12:31

Servus,

Ja/Nein... falsch ausgedrückt....

Wenn Du die php.ini bearbeiten kannst, dann löschen den Spruch "php_admin_flag safe_mode OFF" wieder aus der Datei raus. Der sollte in die Konfigurationsdatei des Apachen.

Stell in der php.ini den Schalter "safe_mode" auf "OFF". Also safe_mode muss aus sein. Damit die exec Funktion ausgeführt werden darf.

Gruß
Stefan

PS: Falls Du virtuelle Host eingerichtet hast: Die Einstellung in der php.ini gelten GLOBAL für alle Hosts.
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Re: safe mode on/off

Postby Wiedmann » 26. March 2004 12:57

safe_mode = Off ist in der php.ihi und sollte beim XAMPP standardmäßig auf Off sein. (php_admin_flag gehört in die httpd.conf)

Um sicher zu sein, kannst du ja mal ein phpinfo() machen und schauen wie es eingestellt ist.

Dein Problem ist ja, das er den Befehl nicht findet.
Welche Fehlermeldung kam denn genau als du es mit dieser Zeile versuchst hast:
system("C:\WINDOWS\system32\taskkill.exe /F /IM hf.exe /T");

Bei mir funkt das einwandfrei. Ohne safe_mode sowieso. Und wenn ich den Befehl ins safe_mode_exec_dir kopier auch mit safe_mode.

Muß nochmal fragen: Der Server läuft auch auf einem WinXP?
Und das Programm "taskkill.exe" ist auch wirklich vorhanden auf diesem PC?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

weiteres Problem

Postby becksbierbauch » 26. March 2004 13:02

als erstes mal vielen, vielen dank für die schnelle und qualifizierte hilfe.
das erfährt man nicht oft in einem forum.
der restart meiner gameserver funktioniert einwandfrei nach diesen modifikationen.

jetzt hätte ich aber leider noch ein weiteres problem.
nämlich mit der status anzeige meines ventrilo teamspeak servers.

wenn ich die folgende seite aufrufe

www.oliverklette.de/ventrilo/ventrilotest.php

bekomme ich folgende fehlermeldung

CVentriloStatus->Request() failed. No response from server.

ich nehme an, auch dieses ist ein ähnliche konfigurationsproblem

hast du dafür event. auch einen rat ???
linux is like a wigwam. no windows, no gates and a apache inside
becksbierbauch
 
Posts: 19
Joined: 18. February 2004 19:35
Location: Florstadt

@ wiedmann

Postby becksbierbauch » 26. March 2004 13:04

die hilfestellungen der vorigen posts haben bereits geholfen.
aber danke trotzdem.

p.s. das ganze läuft auf einem 2003er server.

aber vielleicht hast du eine idee zu meinem weiteren problem (siehe ein post obendrüber)
linux is like a wigwam. no windows, no gates and a apache inside
becksbierbauch
 
Posts: 19
Joined: 18. February 2004 19:35
Location: Florstadt

Postby Wiedmann » 26. March 2004 13:19

Das wird schwierig ohne den Code zu kennen.
Die Fehlermeldung sagt ja schon alles. Das Script greift auf eine URL zu um dort die Statusinfos abzufragen um diese auszuwerten. Und dieser Zugriff läuft fehl.

Im (php)error.log steht bestimmt der genau benutzte Befehl und die passende Zeile vom Code drin.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

ventrilo status

Postby becksbierbauch » 26. March 2004 13:31

zu guter letzt habe ich einfach meinen server mal neu gestartet (ist ja schließlich ein windows:-))
und siehe da, auch mein ventrilo status läuft.

vielen, vielen dank nochmal an die helfer.
linux is like a wigwam. no windows, no gates and a apache inside
becksbierbauch
 
Posts: 19
Joined: 18. February 2004 19:35
Location: Florstadt


Return to PHP

Who is online

Users browsing this forum: No registered users and 26 guests