Когда я использую fsockopen для открытия php-страницы, код работает нормально, но есть и другие проблемы. Например: если я открою b.php в a.php, «echo» не будет работать в b.php, сообщение об ошибке не будет (эти две вещи отлично работают на общей странице). Это очень затрудняет отладку. Как получить вывод на странице b?Как получить вывод при использовании fsockopen для открытия php-страницы?
Большое спасибо! вот мой код. Я использую 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);
Вы открываете порт HTTP? PHP-скрипты выполняются только в том случае, если вы обращаетесь к ним через веб-сервер, а не как обычные файлы. – Barmar
Кажется, что вы не читаете вывод из сокета. Поэтому, если сценарий что-то повторяет, вы ничего не делаете с ним. – Barmar
Почему вы не используете 'file_get_contents'? – Barmar