0

次のwgetコマンドは、ドメイン全体を再帰的にクロールし、ダウンロードしたファイルを1つのフォルダーに保存してから、すべてを削除するのに適しています。

wget --delete-after -r -nd http://www.example.com/

コマンドラインから実行すると、これは完全に機能します。次のようにPHPのexec(またはsystem、shell_exec、passthru)を介して実行すると、インデックスページのみがフェッチされますが、それよりも深くなることはないようです。

exec('wget --delete-after -r -nd http://www.example.com/');

これがアクセス許可の問題である場合、インデックスページもダウンロードされないと思いますが、ダウンロードされます(「--delete-after」を削除するとわかります)。

robots.txtは含まれていません。エコーを通過しても、出力は表示されません。私は何が欠けていますか?

4

1 に答える 1

0

--directory-prefixパラメータを追加すると修正されたため、結局のところ、これは権限の問題であったようです。

wget --delete-after -q -r -nd -P /home/example.com/public_html/tmp/ http://www.example.com

php-fpmが確実にアクセスできるディレクトリにプレフィックスを設定しましたが、以前はファイルを一時的にどこに保存しているかわかりませんでした(「。」はデフォルトのディレクトリですが、どこにありますか?)。

于 2013-02-15T20:17:05.780 に答える