Exec(), Programm läuft nur als Task

Hallo,

ich starte von einer PHP-Website per exec() ein Programm lokal auf dem Server. Einen neuen User für den entsprechenden Anwendungspool habe ich eingerichtet (Nicht mehr „NETZWERKDIENSTE“). Das Programm startet (Sichtbar im Task-Manager) führt aber keine Aktionen aus. Erst nach dem „abschiessen“ der Tasks macht das PHP-Script weiter.

Wie bekomme ich es hin, dass das Programm mit dem Desktop des angemeldeten Users interagiert oder zumindest die Aktionen ausführt die es soll? In dem Fall eine AT-Befehlsfolge an eine Serielle-Schnittstelle schicken („Copy AT… COM3“ funktioniert in diesem speziellen Fall nicht).

System:
Windows 2003 Server, SP2, NTFS, IIS6, PHP5 (ISAPI), MySQL5
Programme: ttermpro.exe, ttpmacro.exe (Teraterm)

Vielen Dank für euere Tipps

Gruss
jörg

Hallo jörg,

ich starte von einer PHP-Website per exec() ein Programm lokal
auf dem Server.

umständlicher geht es wohl nicht?

Einen neuen User für den entsprechenden
Anwendungspool habe ich eingerichtet (Nicht mehr
„NETZWERKDIENSTE“).

warum?

Das Programm startet (Sichtbar im
Task-Manager) führt aber keine Aktionen aus. Erst nach dem
„abschiessen“ der Tasks macht das PHP-Script weiter.

ähm, Programm = Script? Könntest du mal genau beschreiben WAS, WIE, WO gestartet wird?

Wie bekomme ich es hin, dass das Programm mit dem Desktop des
angemeldeten Users interagiert oder zumindest die Aktionen
ausführt die es soll?

der Desktop auf dem Server? welcher User? Script läuft als User A, angemeldet ist User B?

In dem Fall eine AT-Befehlsfolge an eine
Serielle-Schnittstelle schicken („Copy AT… COM3“
funktioniert in diesem speziellen Fall nicht).

deaktiviere ALLE Sicherheitseinstellungen auf dem Server, dann sollte es funktionieren :frowning:

Hilfe zur PHP-Programmierung findest du im Brett > Programmierung > PHP

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Netwolf,

ich starte von einer PHP-Website per exec() ein Programm lokal
auf dem Server.

umständlicher geht es wohl nicht?

Doch, ich könnte nach Hause fahren, in den Keller gehen, mich am Server anmelden, das entsprechende Programm starten, mich abmelden und wieder dahin fahren wo ich gerade am PC im Internet war.

Einen neuen User für den entsprechenden
Anwendungspool habe ich eingerichtet (Nicht mehr
„NETZWERKDIENSTE“).

warum?

Damit ich der CMD.EXE und allen anderen Programmen die per IIS gestarten werden diesen einen User (Dienstkonto) Rechte erteilen kann.

Das Programm startet (Sichtbar im
Task-Manager) führt aber keine Aktionen aus. Erst nach dem
„abschiessen“ der Tasks macht das PHP-Script weiter.

ähm, Programm = Script? Könntest du mal genau beschreiben WAS,
WIE, WO gestartet wird?

Per PHP-Website über das Internet soll es möglich sein, per Button ein PHP-Script zu starten. Dieses Script soll dann auf dem Server ein Terminalprogramm inkl. Makro aufrufen, welches eine vorbestimmte AT-Befehlsfolge zu einem ISDN-Modem schickt.

Wie bekomme ich es hin, dass das Programm mit dem Desktop des
angemeldeten Users interagiert oder zumindest die Aktionen
ausführt die es soll?

der Desktop auf dem Server? welcher User? Script läuft als
User A, angemeldet ist User B?

OK, das war dumm.

In dem Fall eine AT-Befehlsfolge an eine
Serielle-Schnittstelle schicken („Copy AT… COM3“
funktioniert in diesem speziellen Fall nicht).

deaktiviere ALLE Sicherheitseinstellungen auf dem Server, dann
sollte es funktionieren :frowning:

Nein, das war so nicht gemeint, die AT-befehle kann (darf) ich schon senden, aber nach dem AT-Befehl ATD… wartet das System auf die Aktion „Hörer abheben und Hörer wieder auflegen“. Dann erst gehts weiter. Und ganau das möchte ich verhindern. Das ist nur mit einem Terminalprogramm und entsprechendem Makro möglich.

Das Problem ist, das Terminalprogramm startet aber es macht nix. Einige Antworten habe ich schon bekommen, die sagen, das sei normal. Aber was für einen Sinn hat es, mit exec() ein Programm auf dem Server zu starten, was nix macht?!

Gruß
jörg

Hallo jörg,

Doch, ich könnte nach Hause fahren …

andere hätten eine Fernwartung (z.B. Teamviewer) genutzt

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)