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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Cложности c организацией взаимодействия PHP и CGI(Perl)
 
 автор: Sin   (21.12.2004 в 14:32)   письмо автору
 
 

Есть PHP-сценарий и есть CGI-скрипт (Perl).
Из PHP-сценария надо вызвать (запустить) CGI-скрипт,
...но, если бы все было так просто.

Требуется, чтобы:
- после вызова CGI-скрипта продолжалось выполнение PHP-сценария;
- PHP-сценарий продолжал выполняться сразу после этого вызова,
не дожидаясь завершения работы запущенного CGI-скрипта;
- результат выполнения CGI-скрипта записывался в файл,
а не выводился в броузере;
- CGI-скрипт выполняется до конца,даже если пользователь
свернул окно, или перешел на другую страницу.

Идеальная картина вот такая:
В процессе выполнения, PHP-сценарий "включает" CGI-cкрипт,
и продолжает себе выполняться.
А CGI-скрипт работает и работает - пока не выполнит
поставленную задачу, даже если окно броузера закрыто или
пользователь перешел на другую страницу. По окончании работы,
CGI-скрипт "отчитывается" о проделанной работе
(например, в текстовый файл).

Осуществимо ли это, если да - то как конкретно?

   
 
 автор: Ышт   (21.12.2004 в 18:38)
 
   для: Sin   (21.12.2004 в 14:32)
 

Ну помогите пожайлуста. Такое хоть можно сделать?

   
 
 автор: Sin   (21.12.2004 в 18:40)   письмо автору
 
   для: Ышт   (21.12.2004 в 18:38)
 

Это был я :0)

   
 
 автор: cheops   (21.12.2004 в 22:53)   письмо автору
 
   для: Sin   (21.12.2004 в 14:32)
 

CGI-скрипт обязательно запускать как CGI? Т.е. нельзя ли запустить Perl-овый скрипт поместив его имя в обратные кавычки или он расположен на другом хосте? Как это сделано на по теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1014 для команды find? Или воспользоваться функцией exec()?

PS Это всё не пройдёт если PHP на хостинге работает в защищённом режиме.

   
 
 автор: Sin   (22.12.2004 в 18:05)   письмо автору
 
   для: cheops   (21.12.2004 в 22:53)
 

Да обязательно.
CGI видится универсальным решением задачи,
независящем от условий того или иного хостера.

CGI должен быть именнно на бэкграунде -
может это парсер большого блока информации или отправщик выпусков рассылки. Не ждать же завершения его выполнения.
Смысл сделать так чтобы кнопкой запустить программу,
и забыть то она вообще работает. Нмкаких выводов результатов в броузер etc

Через командную строку - это единственный вариант?

   
 
 автор: cheops   (22.12.2004 в 22:24)   письмо автору
 
   для: Sin   (22.12.2004 в 18:05)
 

А может лучше CGI скрипт будет запускать такой фоновый процес и быстро возвращать посетителю основную страницу?

   
Rambler's Top100
вверх

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