exec - läuft aber dann auch wieder nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • exec - läuft aber dann auch wieder nicht

    Moin,

    Ich will über exec() in PHP ein Skript auf dem Server ausführen. Das Shell-Skript ruft wiederum verschiedene andere Programme auf.

    Das Hauptprogramm wird mit einer dynamisch erstellten Textdatei gefüttert.

    Problem:

    Wenn ich das Shell-Skript und alle anderen beteiligten Dateien im Rootverzeichnis des Servers habe, klappt alles wie am Schnürchen, die Rechte der Dateien stimmen also.

    Nun will ich das Skript aber einen Ordner unterhalb laufen lassen, und obwohl ich die Datei- und Verzeichnisrechte gleich gesetzt habe, und natürlich auch den Aufruf modifiziert habe, läuft es nicht mehr.

    Dann hab ich zur Überprüfung noch einen "touch"-Aufruf eingebaut, und siehe da, er funktioniert.

    An was kann dass nun liegen? Muss ich vielleicht Änderungen in der httpd.conf einfügen?

    Führe ich das Shell-Skript über die Konsole aus, läuft alles wie am Schnürchen. Ein echo exec() gibt leider auch keine Fehlermeldung aus.

    Bin für jede Idee dankbar!!

  • #2
    Hmm hatte so ein problem noch nicht, aber schau mal in den rechten nach, ob der webserver rechte hat programme auszuführen (normal hat er diese nicht), sonst gib dem script einfach mal chmod 777. Wenn das nicht klappt gibt es noch den Befehl system(), welcher auch befehle in der system console bzw in der shell ausführt .

    Ich hoffe ich konnte dir etwas helfen.
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht. ;-)

    Kommentar


    • #3
      Danke, werde das morgen mal testen.

      Wobei der Server das Skript im Rootverzeichnis ja komplett ausführt, somit die Rechte für das ausführen der Programme durch den Server wohl stimmen.

      Kommentar


      • #4
        Schon
        PHP-Code:
        exec('cd unterverzeichnis; script.sh'); 
        statt
        PHP-Code:
        exec('unterverzeichnis/script.sh'); 
        probiert?

        Kommentar


        • #5
          Nein, werde ich morgen auch mal probieren!

          Kommentar


          • #6
            Original geschrieben von onemorenerd
            PHP-Code:
            exec('cd unterverzeichnis; script.sh'); 
            DANKE, damit läuft es nun, Rechte der Dateien und Verzeichnisse waren in Ordnung!!

            DANKE!

            Kommentar

            Lädt...
            X