Как получить вывод при использовании fsockopen для открытия php-страницы?

когда я использую fsockopen для открытия php-страницы, код работает нормально, но есть и другие проблемы. Например: если я открою b.php в a.php, «echo» не будет работать в b.php, сообщение об ошибке не будет (эти две вещи отлично работают на общей странице). Это очень затрудняет отладку. Как получить вывод на странице b?

Большое спасибо! вот мой код. Я использую main.php для вызова main_single_block.php.PS: все работает отлично, за исключением двух вещей, о которых я упоминал выше.

main.php:

$template_url_arr_s = serialize($template_url_arr); $fp = fsockopen($sochost, intval($socportno), $errno, $errstr, intval($soctimeout)); if (!$fp) { echo "$errstr ($errno) ,open sock erro.<br/>\n"; } $typename= urlencode($typename);//do url encode (if not, ' 'can not be handled right) $template_url_arr_s= urlencode($template_url_arr_s); *$out = "GET /main/main_single_block.php?typename=" . $typename . "&templateurlarr=" . $template_url_arr_s . "\r\n";* fputs($fp, $out); fclose($fp); 

    Вот основная структура:

     template_url_arr_s = serialize($template_url_arr); $fp = fsockopen($sochost, intval($socportno), $errno, $errstr, intval($soctimeout)); if (!$fp) { echo "$errstr ($errno) ,open sock erro.<br/>\n"; } $typename= urlencode($typename);//do url encode (if not, ' 'can not be handled right) $template_url_arr_s= urlencode($template_url_arr_s); $out = "GET /main/main_single_block.php?typename=" . $typename . "&templateurlarr=" . $template_url_arr_s . " HTTP/1.1\r\nHost: $sochost\r\nConnection: close\r\n\r\n"; fputs($fp, $out); // First read until the end of the response header, look for blank line while ($line = fgets($fp)) { $line = trim($line); if ($line == "") { break; } } $output = ''; // Read the body of the response while ($line = fgets($fp)) { $output .= $line; } fclose($fp); 

    Я добавил параметр HTTP/1.1 в конец строки GET , требуемый заголовок Host: заголовок Connection: close поэтому мне не нужно разбираться с разбором заголовка Content-Length:

    Реальное приложение должно анализировать заголовки ответов, мой код выше просто пропускает их. Заголовок заканчивается пустой строкой, затем он собирает остальную часть вывода в переменную.