Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Vetalspb

Страницы: [1]
1
Добрый день
Есть такая проблемка, надо запустить perl скрипт из php и наоборот. Запустить скрипты у меня получается из php делаю так:
exec(\'/usr/bin/perl sthread_all.pl\',$out);
foreach($out as $o){echo $o;};
А ИЗ ПЕРЛ
system(\'/usr/local/bin/php p4.php\');

Вопрос:
Как сделать так чтобы пересенные передавались из php скрипта в perl скрипт и наоборот.

Заранее спасибо.

2
Здраствуйте.
Необходимо написать скрипт который обходя некоторые сайты собирает с них информацию. У меня для этого каждый сайт посылается POST-запрос fsockopen и читается результат.
Вот пример моего кода
// Формируем HTTP-запрос
$myquery = "POST /$path HTTP/1.0\\r\\n" . "Host: $host\\r\\n" . "Referer: http://$host/$path\\r\\n" .
"Content-Type: application/x-www-form-urlencoded\\r\\n" .
"Content-Length: $kol\\r\\n" . "\\r\\n" . $st;
$fp = fsockopen ($host, 80, $errno, $errstr, 5);
if (!$fp) { //Нет коннекта
} else {
fputs ($fp, $myquery);
while (!feof($fp)) {
$data .= fgets($fp, 128);
}
}
И эта часть в цикле находится. И как я раньше писал есть проблемма времени, каждый запрос выполняеться от секунды и более и при 20 запросах уже получается время выполнения скрипта от 40 секунд
Вопросы:
1) Как уменьшить время выполнения скрипта, допустим паралельные процессы можно сделать
2) И как можно ограничить время выполнения запроса, допустим кусок примера не дает результатов более 10 сек как закаончить выполнение его и приступить к следующему запросу.

Заранее большое спасибо.

3
Попытаюсь объяснить вам что я хочу.
У меня около 20 скриптов, которые по моему запросу отдают мне данные в виде xml текста.
Пример:
http://www.test.ru/test.php?query=133
http://www.test1.ru/test1.php?key=133
.......... итд
http://www.test20.ru/test20.php?key=133

Задача состоит в том чтобы эти два скрипта запустить одновременно и по мере получения от них ответов выводить результаты мне на сайт который задает эти запросы.
У меня сейчас все работает в цикле, для этого примера берется цикл в нем сначала
производится
$data_a = File("http://www.test.ru/test.php?query=133");
после выполнения, если есть результаты то они отображаться у меня на сайте
далее в цикле задается второй запрос
$data_a = File("http://www.test1.ru/test1.php?key=133");
и опять если есть результаты то они отображаются...
и так 20 раз с разными запросами
Проблема моего способа в том что у меня в цикле таких запросов сейчас около 20 и каждый выполняется от 0,0001 до 20 сек и получается что в моем случаи поиск проходит от 40 секунд.
А я хочу понять как сделать так чтобы эти запросы выполнялись не последовательно а параллельно, чтобы сразу разослать всем запросы $data_a = File("http://xxxx.xxx");
 а потом по мере их выполнения и получения результатов мне выводить результаты.
Просто у меня в результате получается что мой сайт висит
Может подскажете как это можно сделать.
Если есть какие ни будь мысли то наведите меня на какую ни будь мысль, ну а если нет то буду дальше копать интернет и литературу, но пока все это не
увенчалось какими-нибудь результатами.
Заранее большое спасибо

Страницы: [1]