Независимая работа двух скриптов

Статус
В этой теме нельзя размещать новые ответы.

kud

Постоялец
Регистрация
18 Фев 2009
Сообщения
89
Реакции
11
Есть скрипт a.php, который должен запустить скрипт b.php с передачей одного get параметра .. Как заставить продолжить работать дальше скрипт a.php не дожидаясь когда закончит работу b.php ?
пробовал через curl запускать, но что-то не клеится .. сейчас запускаю через curl с опцией:
PHP:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
Пробовал:
PHP:
curl_setopt($ch, CURLOPT_NOBODY, 1);
Но что-то не выходило .. Вернее, первая часть скрипта b.php выполняась, а вторая (аплоад на сервер) нет ..
Как правильно вызвать b.php?
 
Файл b.php можно вызвать через веб?
 
Было бы ещё неплохо узнать зачем именно это вам? Напишите, может можно реализовать проще...;)
 
Было бы ещё неплохо узнать зачем именно это вам? Напишите, может можно реализовать проще...;)

А что тут непонятного ? есть скрипт a.php который выполняет свою работу ..
Допустим цикл:
PHP:
foreach ($arr as $k => $v) {
  // бла бла бла
  // ну и в самом конце нужно запустить b.php что-б он работал, и продолжил работать foreach

}

Добавлено через 1 минуту
Файл b.php можно вызвать через веб?

не совсем понял что Вы имеете ввиду..
 
Если скрипт через браузер запускается, то можно попробовать бекэндом через Ajax запустить. Однако извращений будет куча.
 
пример на сокетах(делал таким образом самовызов скрипта, чтобы выполнялся бесконечно:(
PHP:
<?php
$host="www.vasya.com";
$refer="http://localhost";
$zap="/b.php?blabla=123";
$fp=fsockopen($host,80);
$get="GET $zap HTTP/1.1\r\nHost: $host\r\nReferer: $refer\r\nUser-Agent: Mozilla 4.0\r\n\r\n";
fwrite($fp,$get);
fclose($fp);
?>
 
если делать через сокеты, тогда соединения будеть жить пока работает скрипт, либо пока оно не оборвется, таймаутом например..

если запускаемый скрипт должен работать в фоне и запускающий скрипт не должен получать данные с него (тупо запустить и все) то лучше воспользоватся таким кодом:

PHP:
pclose(popen('/usr/bin/php /home/user/httpdocs/script.php >> /dev/null &', 'r'));

вывод скрипт идет в /dev/null
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху