Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 24

Thema: Shell-Befehle ausführen

  1. #1
    sebezahn
    Gast

    Thumbs down Shell-Befehle ausführen

    Ich brauche mal Eure Hilfe, ich selbst kriege noch die Motten!

    Nach dem Upload eines Bildes über den Webbrowser soll ein Thumbnail erzeugt werden. Auf der Shell-Ebene gebe ich dazu ein:

    djpeg /usr/local/httpd/htdocs/demos/foto.jpg | pnmscale -width 136 | cjpeg -outfile /usr/local/httpd/htdocs/demos/tn_foto.jpg

    Das funktioniert auch, aber wenn ich kann diesen Befehl in PHP einbaue mit

    exec("djpeg [.....] tn_foto.jpg");

    bekomme ich gar nichts. Keine Fehlermeldung, kein gar nichts. Ich habe die Rechte des Scripts schon auf den wwwrun gesetzt, auf root gesetzt, das bild diesen Besitzern zugeordnet, die Ordnerrechte geändert... NIX! Ich bin langsam am verzweifeln. Wenn jemand eine Lösung hat, wäre ich sehr dankbar.

    Bis denn und Dank im Voraus,
    Sebastian

  2. #2
    sebezahn
    Gast

    Post

    Das darf doch nicht wahr sein! Der Fehler liegt gar nicht im Script direkt selbst. Das startet den Aufruf. Doch läuft der falsch...

    Im error_log der Apaches steht es:

    sh: /djpeg: No such file or directory

    Daraufhin habe ich den Befehl abgeändert und ein usr/bin/djpeg daraus gemacht. Gleiche Meldung im error_log...

    Auch ein ./usr/bin/djpeg bringt nichts, bis auf exakt die gleiche Fehlermeldung.

    Ich setze eine SuSE 7.0 ein. Hat jemand eine Idee?

    Danke,
    Sebastian

  3. #3
    Registrierter Benutzer
    Registriert seit
    03.07.2000
    Ort
    Weinviertel
    Beiträge
    55

    Post

    Servus!

    Und was sagt ein
    /usr/bin/djpeg ?

    Grüße, Stefan
    Projekt phpHotspot - (W)Lan Hotspot unter Linux

    Gibt es Fernwartungmöglichkeiten für Windows-Server?
    Na klar! Microsoft Cordless Wheel Mouse :D

  4. #4
    sebezahn
    Gast

    Post

    genau das gleiche...

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.12.1999
    Ort
    Stuttgart
    Beiträge
    259

    Post

    Hallole,

    bin mir nicht ganz sicher, aber sucht der Apache nicht unterhalb des Document-Root (bei SuSE /usr/local/httpd/) ??

    Gruß micha
    IRC: irc.euirc.net #tux

  6. #6
    sebezahn
    Gast

    Post

    das kann sein, aber ich habe auch versucht ../und so weiter zu nutzen. Das ist allerdings nicht erlaubt. Und ein absoluter Pfad sollte ja eigentlich funktionieren.

  7. #7
    sebezahn
    Gast

    Post

    Jetzt was ganz kurrioses... Ich habe den Befehl mal umgeschrieben

    $ausgabe = shell_exec("djpeg ... ");

    Dann bekomme ich die Antwort:

    Warning: Cannot execute using backquotes in safe mode in /usr/local/httpd/htdocs/demos/index.php on line 7

    Im error_log erscheint trotzdem die Meldung:

    sh: /djpeg: No such file or directory

    Gruß
    Sebastian

  8. #8
    Registrierter Benutzer
    Registriert seit
    25.12.1999
    Ort
    Stuttgart
    Beiträge
    259

    Post

    Das ist schon klar, das ein absoluter Pfad funktionieren sollte, allerdings würde der absolute bei Dir dann /usr/local/httpd/usr/bin/djpeg heißen, falls meine Theorie stimmt
    Probiers doch mal aus, erstell unter Deinem Document-Root (bin mir nich sicher ob /usr/local/httpd oder /usr/local/httpd/htdocs) das Verzeichnis /bin und kopier djpeg da rein, dann rufst Du es mit /bin/djpeg auf....

    Gruß micha
    IRC: irc.euirc.net #tux

  9. #9
    sebezahn
    Gast

    Post

    Ich habe das überall rein kopiert, hin und her kopiert, in jedem Verzeichnis gehabt. aber nöööö.... Nein, funktioniert nicht. Immer die gleiche Fehlermeldung in der error_log.

    Ich gebs bald auf...

  10. #10
    Registrierter Benutzer
    Registriert seit
    03.07.2000
    Ort
    Weinviertel
    Beiträge
    55

    Post

    Servus!

    Blöde Frage:
    Geht das Programm auf der Kommandozeile?

    Ich habe mit Imagemagick herumprobiert und das hat problemlos geklappt...

    Grüße, Stefan
    Projekt phpHotspot - (W)Lan Hotspot unter Linux

    Gibt es Fernwartungmöglichkeiten für Windows-Server?
    Na klar! Microsoft Cordless Wheel Mouse :D

  11. #11
    sebezahn
    Gast

    Post

    das geht einwandfrei...

  12. #12
    Registrierter Benutzer
    Registriert seit
    28.01.2000
    Ort
    München-Moosach, Bayern
    Beiträge
    131

    Post

    geht djpeg auch als user wwwrun ?
    Wer ist weisse ?
    Der von jedem Menschen etwas lernen kann.

  13. #13
    sebezahn
    Gast

    Post

    Auch das geht. Langsam gehen mir die Ideen aus...

  14. #14
    Registrierter Benutzer
    Registriert seit
    28.01.2000
    Ort
    München-Moosach, Bayern
    Beiträge
    131

    Post

    Hi,

    was ist mit den beiden anderen befehlen die in der zeile stehen ?

    poste mal die entprechenden ausschnitte aus deinem script, der access.log und der error.log und von /var/log/messages und evtl warn...

    martin

    Linux redet mit uns, nur manchmal ist es schwierig die sprache zu verstehen.......

    ;-)
    Wer ist weisse ?
    Der von jedem Menschen etwas lernen kann.

  15. #15
    sebezahn
    Gast

    Post

    Mein Script beinhaltet zum Test nur diese eine Zeile, bzw. drei Zeilen:

    <?
    exec ("djpeg /usr/local/httpd/htdocs/demos/foto.jpg | pnmscale -width 136 | cjpeg -outfile /usr/local/httpd/htdocs/demos/tn_foto.jpg");
    ?>

    Das foto.jpg existiert auch, der Befehl an der Shell klappt einwandfrei. Im error_log steht:

    sh: /djpeg: No such file or directory
    sh: /pnmscale: No such file or directory


    Im access_log ist alles in Ordnung:

    .... GET /demos/index.php HTTP/1.1" 200 22

    Die /var/log/messages spuckt gar nichts relevantes aus.

    Nun ja. Ich danke Euch an dieser Stelle schon mal für Eure bisherige Hilfe.

    Gruß
    Sebastian

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •