Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Параллельное выполнение функций php

Сообщения:  [1-7] 

 
 автор: Archimonde   (19.07.2005 в 15:04)   письмо автору
 
   для: cheops   (19.07.2005 в 14:11)
 

Все работает :) большое спасибо! Просто стоило все как следует проверить и найти ошибку =)

   
 
 автор: cheops   (19.07.2005 в 14:11)   письмо автору
 
   для: Archimonde   (19.07.2005 в 14:00)
 

Хм... странно, а выведите плиз строку
<?php
echo "GET {$basepath}{$page} HTTP/1.0\r\n";
?>

в функции http_spawn - как она выглядит?

   
 
 автор: Archimonde   (19.07.2005 в 14:00)   письмо автору
 
   для: cheops   (19.07.2005 в 13:28)
 

<?php 
while($row mysql_fetch_row($result)) 

    
$id $row[0]; 
    
http_spawn("script.php?id=$id"); 

?>

Так не получается :(

   
 
 автор: cheops   (19.07.2005 в 13:28)   письмо автору
 
   для: Archimonde   (19.07.2005 в 12:49)
 

Хм... а почему методом GET нельзя передать - как бы самое простое решение...

   
 
 автор: Archimonde   (19.07.2005 в 12:49)   письмо автору
 
   для: cheops   (19.07.2005 в 00:14)
 

Спасибо, я сделал немного подругому. Мне не нужно было вставлять скрипты в страницу, поскольку они бы конфликтовали друг с другом. Я использовал фукцию
<?php
function http_spawn($page$timeout=30)
{
   
$basepath=ereg_replace('[^/]*$'''$_SERVER['PHP_SELF']);
   
$cbSock=fsockopen('localhost'$_SERVER['SERVER_PORT'], $errno$errstr$timeout);
   if (
$cbSock)
   {
       
fwrite($cbSock"GET {$basepath}{$page} HTTP/1.0\r\n"
           
."Host: {$_SERVER['HTTP_HOST']}\r\n\r\n");
   }
}
?>
Возникла другая проблема :( Нужно, чтобы в каждую из страниц передавалась перемнная $id. Через $GET ее не передашь.
Можно ли такое сделать?
Дело в том, что я немного неверно истолковал суть. страницы всего 2: page.php (на которую заходит посетитель) и script.php (которая выполняется параллельно). Из базы данных берется несколько переменных INTEGER и уже после этого запускается в циклической функции script.php, но с разной переменной $id.
<?php
while($row mysql_fetch_row($result))
{
    
$id $row[0];
    
http_spawn("script.php");
    
//Вопрос: как передать $id?
}
?>

Спасибо :)

   
 
 автор: cheops   (19.07.2005 в 00:14)   письмо автору
 
   для: Archimonde   (18.07.2005 в 23:15)
 

А вы просто включите скрипты script.php, script2.php, script3.php и т.д. в страницу page.php при помощи инструкции include
<?php
  
include "script.php";
  include 
"script2.php";
  include 
"script3.php";
?>

   
 
 автор: Archimonde   (18.07.2005 в 23:15)   письмо автору
 
 

Существует ли способ, чтобы с одной страницы можно было запустить сразу несколько процессов? Объясню подробнее (примерно то, что я хочу сделать):
Существует страница page.php, при ее открытии вызываются скрипты находящи
еся в script.php, script2.php, script3.php и т.д. в которых с помощью функции ignore_user_abort() продолжается выполнение программы.
Возможно ли такое сделать?
Заранее спасибо!

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования