tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
363
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von DivDax
    DivDax DivDax ist offline Mitglied Gold
    Registriert seit
    Jan 2003
    Beiträge
    117
    Hallo zusammen!

    Ich weiß nun nicht, ob ich im richtigen Forum gelandet bin.
    Falls nicht, bitte verschieben!

    Ich möchte mit einem PHP-Script die Funktion exec() oder system() nutzen,
    allerdings klappt das nicht. Ich vermute, dass mit die Rechte dazu fehlen.

    Kann mir jemand helfen?



    Gruß,
    DivDax
     

  2. #2
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Hi,

    das liegt höchstwarscheinlich daran, dass dein Hoster diese Funktionen nicht erlaubt.
    (Ist also kein Fehler )

    Ist aber bei vielen (billig-) Webhostingangeboten so, also ist die Chance, dass die Einstellung auf Anfrage gaendert wird, gering.
     

  3. #3
    Avatar von DivDax
    DivDax DivDax ist offline Mitglied Gold
    Registriert seit
    Jan 2003
    Beiträge
    117
    Ich nutze weder kostenlosen, noch Billigwebspace. Ich habe meinen eigenen Server.
    Daher denke ich schon, dass dies zu machen wäre.
     

  4. #4
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Ok, mein Fehler

    Was verstehst du unter "geht nicht"?
    Gibt's ne Fehlermeldung, oder keine Aus/Rückgabe?

    Und welche Software und -versionen benutz du?
     

  5. #5
    Avatar von DivDax
    DivDax DivDax ist offline Mitglied Gold
    Registriert seit
    Jan 2003
    Beiträge
    117
    Fehlermeldungen oder so gibt's nicht.
    getestet habe ich das ganze mit diesem Code:

    PHP-Code:
    system("/opt/lampp/bin/mysqldump -uroot -p**** --opt db > db.sql"); 
    Ich nutze derzeit das Komplettpaket xampp2 von apachefriends.org
     

  6. #6
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Ok, ich hab das Ganze mal mit folgendem Script getestet:
    PHP-Code:
    exec('/usr/local/mysql/bin/mysqldump -uNuinmundo -p**** --opt mysql > db.sql'$foo$iRetVal);
    print(
    $iRetVal); 
    Wenn ich es nun per Browser aufrufe (das Script wird dann als wwwrun ausgeführt), dann wird der Rückgabewert 1 zurückgegeben. Der Fehler liegt also nicht bei PHP, sondern bei mysqldump.

    Wenn ich es aber von der Shell aus ausführe:
    Code :
    1
    2
    
    nuinmundo@schlecker:~/public_html$ php -f test.php 
    0
    Dann klappt alles.
    Das Script wurde als nuinmundo ausgeführt.

    Ergo liegt das Problem darin, dass mysqldump wohl Probleme mit dem wwwrun-User hat. (Vielleicht weil er keine Shell hat)


    Du musst wohl auf ein PHP basierendes Backup zurückgreifen (Da solltest du bei Google was finden)
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 26.12.09, 17:08
  2. exec, system usw. möchten nicht
    Von liquidbeats im Forum PHP
    Antworten: 1
    Letzter Beitrag: 13.05.08, 22:47
  3. passthru / exec / system => psexec
    Von FritzTheCat im Forum PHP
    Antworten: 0
    Letzter Beitrag: 16.11.07, 15:41
  4. System() vs. Exec()
    Von Papenburger im Forum PHP
    Antworten: 2
    Letzter Beitrag: 31.05.07, 16:31
  5. exec,system,etc wird ignoriert! hilfe
    Von TheVinc im Forum PHP
    Antworten: 3
    Letzter Beitrag: 09.07.04, 08:36