WinFuture-Forum.de: Mit Php Grafische Anwendungen Starten - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Mit Php Grafische Anwendungen Starten


#1 Mitglied ist offline   silvanm 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 26. März 08
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. April 2009 - 21:16

Hallo zusammen

Ich benutze Debian mit Apache 2 und PHP 5. Ich will mit einem PHP-Skript, das auf meinem PC gestartet wird, indem ich im Browser "localhost" eingebe, eine X11-Anwendung starten. Doch alleine mit exec() funktioniert das ja nicht, da man zuerst noch Umgebungs-Variabeln, etc, definieren muss. Darum habe ich ein Shell-Script geschrieben, das so aussieht:

#!/bin/bash
export DISPLAY=:0.0
export HOME=/home/silvan
sudo xhost local:silvan
gnome-terminal&


Dieses Skript wird mit exec() aufgerufen. Das Skript setzt die DISPLAY- und HOME-Variable, gibt mir Zugriff auf X11 und startet schliesslich das Gnome-Terminal. Hier die HTML-Datei:

<HTML>

<HEAD>
<TITLE>Test-Seite</TITLE>
</HEAD>

<BODY>
<?php

exec("./skript.sh");
echo "Shell, öffne dich!";

?>
</BODY>
</HTML>


Doch jetzt kommt das Problem: Wenn ich index.php aufrufe, dann wird schön das Gnome-Terminal angezeigt. Doch die Webseite selbst (Shell, öffne dich!) wird erst angezeigt, wenn ich das Terminal wieder geschlossen habe.

Ist es möglich, dass direkt zum nächsten Befehl gegangen wird und nicht zuerst gewartet wird, bis skript.sh fertig ist?

Lg
0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 29. April 2009 - 06:56

exec("./skript.sh &");

0

#3 Mitglied ist offline   silvanm 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 26. März 08
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 30. April 2009 - 17:04

Ich habe nun den Code etwas vereinfacht, um es zu testen:

index.php:

<HTML>

<HEAD>
<TITLE>Test-Seite</TITLE>
</HEAD>

<BODY>
<?php

exec("./skript.sh &");
echo "fertig";

?>
</BODY>
</HTML>


skript.sh:

#!/bin/bash
sleep 5


Doch wenn ich auf localhost im Browser zugreife, kommt das "fertig" erst nach 5 Sekunden Wartezeit. Dabei habe ich "skript.sh &" geschrieben.

Weiss jemand, warum?

Lg
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0