wget внутри exec не генерирует никакого вывода или сохраняет веб-страницу - PullRequest
0 голосов
/ 23 марта 2012

Я работаю над небольшим личным проектом, который может сохранить всю веб-страницу на моем локальном диске с помощью PHP с помощью wget.

Обычно, когда я передаю URL-адрес, он должен сохранять веб-страницу, исправляя URLи изображения по этому:

exec('cd application/collection; wget -k -p --user-agent=Firefox/11.0 google.com, $output', $return);

print_r($output); // Array( )
print_r($return); // 0

Странно, я не получаю вывод, ничего не сохраняется в каталоге (это правильный каталог, я могу подтвердить).На моем локальном хосте работает пользователь _www, как я могу разрешить сохранение веб-страницы с помощью wget через функцию exec PHP?

Я не могу использовать file_get_contents, потому что он не исправляет URL и изображения.

Ответы [ 2 ]

0 голосов
/ 25 марта 2015

Вы, вероятно, уже решили эту проблему, но Google перенаправляет меня на этот вопрос, поэтому для всех остальных:

Вам нужно перенаправить stderr на стандартный вывод: 2> & 1

exec('cd application/collection; wget -k -p --user-agent=Firefox/11.0
google.com 2>&1', $output, $return);
print_r($output); 
print_r($return); 
0 голосов
/ 23 марта 2012

Попробуйте с этим:

exec ('cd application / collection; / usr / bin / wget -k -p --user-agent = "Firefox / 11.0" "http://www.google.com"', $ output, $ return);

...