запуск процесса в PHP

Тема в разделе "PHP", создана пользователем denover, 14 июн 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. denover

    denover Постоялец

    Регистр.:
    5 июн 2008
    Сообщения:
    56
    Симпатии:
    7
    Этот код работает до тех пор пока test.php не закончит.

    PHP:
        ini_set('max_execution_time'0);
        
    $cmd 'C:/php5/php.exe -f c:/test.php';
        
    exec$cmd );
        exit;
    А как сделать так чтобы не дожидаться окончания test.php ? Чтоб он продолжал бежать в процессе.
     
  2. sw04

    sw04 seoplayer

    Регистр.:
    1 дек 2007
    Сообщения:
    601
    Симпатии:
    193
    что ты хочешь?
    вырази лучше, что хочешь получить :)
     
  3. denover

    denover Постоялец

    Регистр.:
    5 июн 2008
    Сообщения:
    56
    Симпатии:
    7
    запускать скрипт как процесс.
    т.е. к примеру скрипт проверки прокси.
    Чтоб не запускать через командную строку а через браузер.
     
  4. ewg777

    ewg777

    Регистр.:
    6 авг 2007
    Сообщения:
    763
    Симпатии:
    321
    Ясно. Тогда Вам нужен денвер. Там все просто.
    denwer.ru
     
  5. denover

    denover Постоялец

    Регистр.:
    5 июн 2008
    Сообщения:
    56
    Симпатии:
    7
    ??? зачем мне денвер ???
    я про PHP спрашиваю. Как в пхп запустить комманду exec или подобную ей и не дожидаться окончания того что запускает эта комманда.
     
  6. lan_

    lan_ Постоялец

    Регистр.:
    24 апр 2007
    Сообщения:
    171
    Симпатии:
    28
    Как сделать в php-не знаю, но чтобы запустить как делона - нужно запускать из Shell(SSH)
     
  7. ewg777

    ewg777

    Регистр.:
    6 авг 2007
    Сообщения:
    763
    Симпатии:
    321
    Вы сначала подумайте потом пишите! Для запуска "через браузер" Вам нужен локальный сервер => самый простой и удобный девер(denwer.ru). Какие ещё вопросы? Либо переформулируйте Ваш вопрос!:ay:
     
  8. Mendel

    Mendel

    Регистр.:
    27 янв 2008
    Сообщения:
    217
    Симпатии:
    64
    Для тех кто в танке:
    ТС нужен fork. Но fork в винде не работает, а судя по php.exe в его коде у него мастдай.
    Ну а вообще советую почитать http://ru2.php.net/manual/ru/refs.fileprocess.process.php
    и найти то что вам нужно :)
     
  9. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    В виндах... Ыыы. Тру-кодеры изначально Unix-ориентированного языка кодят под виндами? :)

    По теме: можно извратиться следующим образом:
    1. Прописываем у первого скрипта время исполнения = 0
    2. Создаем скрипт процесса process.php. У него прописываем время исполнения = 0 и ignore_user_abort=1
    3. Первый скрипт забирает страницу myhost.lo/process.php (понятно, что он ее не заберет полностью, ибо process.php будет исполняться долго) и вылетает по таймауту...
    4. process.php по-прежнему исполняется...

    Это у меня такие мысли есть на обход подобного гемора...
    PS: юзайте POSIX OS
     
  10. Mendel

    Mendel

    Регистр.:
    27 янв 2008
    Сообщения:
    217
    Симпатии:
    64
    чтото это мне напоминает :)
    а именно один из вариантов из этой темы
    Вот только я както не подумал тогда о ignore_user_abort=1 что значительно улучшает работу подобного костыля :)
    PS: топикстартеру советую почитать указанную тему, там много мыслей в ответ на его вопрос.
     
Статус темы:
Закрыта.