Programm über PHP ausführen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Masterraven9
Beiträge: 20
Registriert: 18.08.2007 19:55:54

Programm über PHP ausführen

Beitrag von Masterraven9 » 18.08.2007 20:03:52

Hy,

ich hoffe dasich hier im richtigen Bereich bin.

Also ich habe auf meinem Debian PC xampp-linux installiert und würde gerne über den Webbrowser Programme ausführen. Also ich habe schon die meisten gängigen Methoden getestet das Problem liegt warscheinlich darin das das Programm dann immer laufen soll auch wenn der PHP Scripte beendet ist. Also das Programm startet auch für ca. 20 sec (ausgelesen mit ps -aux) aber dann wird es einfach beendet. Ich habeauch schon ein .sh script geschrieben was das Programm ausführt aber auch das bringt keinen erfolg.

P.S:: Also das Programm sowie das .sh script lassen sich per SSH problemlos starten. Die erforderlichen rechte sind mit chmod für das script und das Programm gesetzt. Ich sollte noch dazu sagen das ich auch erst ein einsteiger im Bereich PHP und Debian bin.

Hoffe das ihr mir helfen könnt.

thx

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 19.08.2007 02:19:21

Hallo,
und herzlich willkommen im Debian Forum! :)

Du solltest Vorsichtig sein mit Shell Aufrufen von PHP. Besonders wenn beliebige Aufrufe gemacht werden können, da dies leicht ausgenutzt werden kann um in den Server einzubrechen!

Davon abgesehen gibt es in der php.ini einen Wert der die Ausführungszeit von deinen PHP Scripten beschränkt.

Code: Alles auswählen

max_execution_time = 30     ; Maximum execution time of each script, in seconds
Ist die Zeit verstrichen killt der Server den Prozess!

Wenn dein Script von sich aus im Hintergrund laufen soll und keine Rückantwort auf die php Seite liefern braucht solltest du es mal mit

Code: Alles auswählen

/usr/bin/nohup "/pfad/zum/script/script.sh" &
versuchen... :wink:
nohup ignoriert das hangup Signal vom Eltern Prozess (wenn dieser stirbt) und das "&" startet den Prozess im Hintergrund.

Könnte so klappen 8)
Ciao, Hendri

Masterraven9
Beiträge: 20
Registriert: 18.08.2007 19:55:54

Beitrag von Masterraven9 » 19.08.2007 10:19:38

thx erstma

Also hat leider nicht geholfen. Hab jetzt auch gesehen das es nichts mit der Ausführungszeit mit PHP zu tun hat da auch im Log des Programm´s Fehler der das Programm nach einer zeit automatisch beendet.

Log auszug:

2007/08/19 10:10:19 2325 s monitor: Bind request failed, waiting another 37 seconds
2007/08/19 10:10:20 2325 s monitor: Bind request failed, waiting another 36 seconds
2007/08/19 10:10:21 2325 s monitor: Bind request failed, waiting another 35 seconds
2007/08/19 10:10:22 2325 s monitor: Bind request failed, waiting another 34 seconds
2007/08/19 10:10:23 2325 s monitor: Bind request failed, waiting another 33 seconds
2007/08/19 10:10:24 2325 s monitor: Bind request failed, waiting another 32 seconds
2007/08/19 10:10:25 2325 s monitor: Bind request failed, waiting another 31 seconds
2007/08/19 10:10:26 2325 s monitor: Bind request failed, waiting another 30 seconds
2007/08/19 10:10:27 2325 s PANIC: master deadlock! last location: init
2007/08/19 10:10:27 2325 s cardserver down

aber wenn ich es per ssh starte über die Konsole gehts ohne Probleme.

Masterraven9
Beiträge: 20
Registriert: 18.08.2007 19:55:54

Beitrag von Masterraven9 » 19.08.2007 10:47:57

Also das "monitor: Bind request failed" Problem hab ich jetzt gelöst was ein sehr sinnloses Problem war.
Ich musste dem Monior Port des Programm´s einen anderen Port zuweisen weil dieser schon belegt war
aber wenn ichs über Konsole gestartet hab war der Port nicht belegt? Egal es ist nicht so als obs jetzt gehen würde.
Nun spuckt es eien andere Fehlermeldung aus also das Programm greift auf dem Com-Port RS232 zu.
Aber leider nicht wenn man es über php startet.

2007/08/19 10:36:40 2415 r02 Cannot open device: /dev/ttyS0

kann das sein das der webuser versucht den Com-Port anzusprechen und kein recht dazu hat?

thx

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 19.08.2007 12:03:36

Den User www-data in die Gruppe dailout in der /etc/group eintragen und gut ist es...
Ciao, Hendri

Masterraven9
Beiträge: 20
Registriert: 18.08.2007 19:55:54

Beitrag von Masterraven9 » 19.08.2007 15:05:47

thx also da war das Hauptproblem leider läuft der PHP script immer weiter und hört nicht auf.

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 19.08.2007 15:43:15

Hast du es mit

Code: Alles auswählen

/usr/bin/nohup "/pfad/zum/script/script.sh" &
schon probiert, wo das Script im Hintergrund gestartet wird?
Ciao, Hendri

Masterraven9
Beiträge: 20
Registriert: 18.08.2007 19:55:54

Beitrag von Masterraven9 » 19.08.2007 17:07:39

jop hilft leider nicht

Antworten