wget funktioniert nicht beim Aufruf von exec() oder shell_exec()

Ich versuche mich zu integrieren, einen wget Befehl, den ich geschrieben habe in einem php-Skript. Der Befehl rekursiv downloads jede html/php Datei auf einer website (die erforderliche Funktionalität habe ich nicht gefunden im file_get_contents()). Ich habe getestet, den wget-Befehl in ein terminal-Fenster, aber bei der Ausführung entweder mit exec() oder shell_exec() passiert nichts. Ich bekomme keine Fehler oder Warnungen.

Hier ist der Befehl in Frage,

wget --recursive -m --domains oooff.com --page-requisites --html-extension --convert-links -R gif,jpg,pdf http://www.oooff.com/

Habe ich versucht einfache wget-Befehle (nicht so viele Parameter) aus exec () und shell_exec(), aber Sie brauchen auch nicht arbeiten.

Wenn wget eine option nicht, ich bin über einige andere Methode zum herunterladen von einer website in seiner Gesamtheit.

Mein code, den ich jetzt haben, ist,

exec("wget google.com", $array);

Dann beim drucken das array leer ist,

  • was ist dein php-code ?
  • vielleicht hilft das: stackoverflow.com/questions/13980404/…
  • die Funktion ist aktiviert, problem besteht weiterhin
  • mein code ist exec(„wget google.com“, $array); und dann habe ich drucken Sie das array, und es ist leer und keine Datei erschienen
InformationsquelleAutor Jfonts | 2016-05-08



3 Replies
  1. 2

    Musste ich geben Sie einen Pfad zu wget. Neuer Befehl:

    exec("/usr/local/bin/wget google.com", $array);
    • nutzen $return_var, um zu überprüfen, dass. Wenn nicht 0, dann ist etwas schief gelaufen.
  2. 1

    aufrufen, wget mit den richtigen Optionen

    -q to remove it s information output
    -O - to output the request response on stdout
    
    php -r 'exec("wget -q -O - google.com", $array);var_dump($array);'
  3. 0

    In unserem Fall wget hat nicht genügend Berechtigungen zum speichern von wget ‚ ed Datei im aktuellen Verzeichnis. Lösung:

    $dir = __DIR__.'/777folder/';
    exec("/usr/bin/wget -P ".$dir." --other-options");

    wo

    -P,  --directory-prefix=PREFIX  save files to PREFIX/...

    ps. wir auch Hinzugefügt /usr/bin gefunden mit whereis wget aber in unserem system, es funktioniert gut, ohne es

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.