tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von timestamp
  • 1 Beitrag von saftmeister
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
264
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Guten Tag!

    Ich versuche per:

    PHP-Code:
    exec "/usr/bin/php5 ./test.php" ); 
    eine Datei im Hintergrund ausführen zu lassen, welche im selben Ordner liegt. Safe-Mode ist deaktiviert und der Pfad zu PHP5 stimmt ebenfalls.

    Als Error erhalte ich: 127

    Warum wird dennoch die Datei nicht ausgeführt? Müssen noch bestimmte Rechte vergeben werden?
    Geändert von Sasser (02.07.10 um 16:32 Uhr)
     

  2. #2
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Hi

    versuchmal folgendes:

    PHP-Code:
    `php test.php
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  3. #3
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Leider bekomme ich immernoch den gleichen Error 127...
     

  4. #4
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Das hier habe ich gerade auf php.net gefunden:

    If you have chrooted apache and php, you will also want to put /bin/sh into the chrooted environment. Otherwise, the exec() or passthru() will not function properly, and will produce error code 127, file not found.
    Quelle
    Sasser bedankt sich. 
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  5. #5
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Das ist mir gar nicht aufgefallen.

    Trotzdem kommt bei allen Varianten Error 127 heraus:

    PHP-Code:
    passthru "php test.php"$output );
    passthru "/usr/bin/php test.php"$output );
    passthru "/usr/bin/php5 test.php"$output ); 
    Was mache ich falsch?

    // EDIT: Habe es nun einmal probiert, indem ich die Datei als Bild einbinde (da diese ja dann ausgeführt wird) aber leider wird das Script da nur einmal ausgeführt...

    If you have chrooted apache and php, you will also want to put /bin/sh into the chrooted environment. Otherwise, the exec() or passthru() will not function properly, and will produce error code 127, file not found.
    Wie ist das zu verstehen? Nirgendwo ist eine Anleitung hierzu... Muss die Datei "sh" mit in das Verzeichnis gelegt werden?
    Geändert von Sasser (02.07.10 um 19:46 Uhr)
     

  6. #6
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Vielen Dank!

    Ich habe es endlich geschafft!

    Irgendwie war PHP-Safe-Mode wieder aktiviert, obwohl ich es mehrfach deaktiviert hatte. Nach Serverneustart wurde es endlich übernommen und mit:

    PHP-Code:
    exec "php test.php > /dev/null &" ); 
    funktioniert es nun endlich, wie es soll!

    Noch eine Frage dazu: Wird der Prozess nach Abschluss wieder automatisch geschlossen oder habe ich zu befürchten dass mein Server sich hochschaukelt?
     

  7. #7
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    In der Dokumentation zu exec() steht ausdrücklich, das PHP solange weiter läuft, bis das Programm, was aufgerufen wurde, beendet ist:

    http://de2.php.net/manual/de/function.exec.php
    Sasser bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  8. #8
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Ok vielen Dank, das wollte ich wissen.

    Konnte ja sein, dass der Prozess offen bleibt und nicht wieder geschlossen wird.

    Dankeschön für eure tolle Hilfe!
     

  9. #9
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Wenn du ganz sicher sein möchtest kannst du ja noch ein exit dahinter hängen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  10. #10
    Sasser Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.000
    Werde ich der Sicherheit halber machen
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 24.01.10, 16:31
  2. Antworten: 2
    Letzter Beitrag: 02.04.07, 13:17
  3. Ausführung von vbs über "exec();"
    Von thedolby im Forum PHP
    Antworten: 3
    Letzter Beitrag: 13.02.05, 14:27
  4. Antworten: 4
    Letzter Beitrag: 09.01.05, 18:17
  5. Suche Hilfe bei "exec"
    Von CitGod im Forum PHP
    Antworten: 4
    Letzter Beitrag: 05.08.02, 12:03