PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausführung mit system();



LC|Tux
11-03-2005, 17:05
Hallo!

Ich will ein .sh script mit system(); ausführen.

Im sh script steht:

/usr/bin/java ChatServer

also es führt eine datei, namens chatserver aus.

Ich führe das script so mit php aus:



system("/home/server/ord/start.sh");

das funktioniert aber nicht... ich hab das jetzt mal im terminal versucht.
im terminal funktionierts mit "/home/server/ord/start.sh" auch nicht... nur wenn ich im angegebenen ordner bin und dann das sh script mit ./start.sh ausführe.

ich habs auch noch so versucht:



system("/home/server/xxxx/java ChatServer");

funktioniert auch nicht....
im terminal hab ichs auch versucht:




mario@Mario:~> /home/server/xxx/java ChatServer
bash: /home/server/xxx/java: Datei oder Verzeichnis nicht gefunden
mario@Mario:~>


ich hoffe es kann mir jemand helfen...

mfg

sticky bit
11-03-2005, 18:01
Wenn dann


/usr/bin/java /home/server/xxxx/ChatServer

denn anscheinend ist das ChatServer ein Java Programm welches den Java-Interpreter braucht, welcher anscheinend nicht im Pfad zu finden ist (obwohl /usr/bin/ da drin sein sollte, poste mal die Ausgabe von echo $PATH aus der Shell... oder lauft dein Web-Server in ner chroot Umgebung?). Also must du zuerst das auszuführende Programm angeben (/usr/bin/java) und dann diesem Programm als Argument mitgeben was es interpretieren, also ausführen soll. also den Pfad zu deinem Skript.
Das es mit dem Skript nicht geht könnte einfach an der fehlenden Pfadangabe zu der Datei in jenem liegen die sich eben nur erübrigt, wenn das aktuelle Arbeitsverzeichnis des Skriptes gleich dem ist in dem die Datei liegt, probier mal:


system("cd /home/server/ord/; ./start.sh

BTW wo denn nu eigentlich /home/server/ord/ oder /home/server/xxx?

LC|Tux
12-03-2005, 10:24
hallo!
mit dem befehl "system("cd /home/server/ord/; ./start.sh"); funktionierts einmal, danke!

nur ein problem jetzt noch:
das ganze was ich mit dem script starte ist ein chat.
wenn ich den chat jetzt mit dem script starte, werden im chat alle "ü,ä,ö" als "?" angezeigt, wenn ich ihn allerdings ganz normal in der shell starte, werden die umlaute richtig angezeigt.

Wo könnte da der fehler liegen?

danke
mfg

Hans-Georg Normann
12-03-2005, 10:54
Liegt es vielleicht an der fehenden Umgebungsvariablen LANG ?

LANG=de_DE@euroOder kann man rigendwie das Characterset im Script einstellen?

Hans

LC|Tux
12-03-2005, 11:06
hallo.

wenn ich den chat aber normal in der shell starte, werden die umlaute angezeigt, nur wenn ich den chat mit dem script starte, werden sie nicht angezeigt.

Wie man das Characterset im Script einstellen kann, würde ich auch gerne wissen.

grüsse

Romanday
13-03-2005, 23:45
hallo.

wenn ich den chat aber normal in der shell starte, werden die umlaute angezeigt, nur wenn ich den chat mit dem script starte, werden sie nicht angezeigt.

Wie man das Characterset im Script einstellen kann, würde ich auch gerne wissen.

grüsse

Ich würde hier mal nachschauen.
(Hab es aber nicht ausprobiert.)
http://www.php.net/manual/en/function.ini-set.php
http://www.php.net/manual/en/ini.php#ini.list