shell_exec и exec на PHP не возвращали строку - PullRequest
3 голосов
/ 29 сентября 2011

У меня болит голова от этого кода:

$data = shell_exec("wget -S --spider http://dkphp.com");
echo "Encoded:" .$data;

$ данные "NULL"

Я не знаю, почему, его поддержка выдает что-то вроде :( Проведите как 5 часов сегодня, и все равно NULL: (

HTTP request sent, awaiting response...
  HTTP/1.0 200 OK
  Date: Thu, 29 Sep 2011 01:31:45 GMT
  Server: LiteSpeed
  Connection: close
  X-Powered-By: PHP/5.3.8
  Set-Cookie: PHPSESSID=50781d657c7632cc1b2e7536d5fa0c50; path=/
  Expires: Thu, 19 Nov 1981 08:52:00 GMT
  Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
  Pragma: no-cache
  content: text/html
  Content-Type: text/html
Length: unspecified [text/html]
200 OK

1 Ответ

3 голосов
/ 29 сентября 2011

Я проверил ваш фрагмент кода в интерактивном режиме PHP (php -a из командной строки)

wget печатает эту информацию в STDERR, а не в STDOUT.

Это работает:

$data = shell_exec("wget -S --spider http://dkphp.com 2>&1");
echo "Encoded:" .$data;
...