Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Uruchamianie demona/skryptu PHP z innego skryptu php
Forum PHP.pl > Forum > Przedszkole
23kulpamens
Szukałem na forum i nie ma więc napisze swój post tongue.gif

Jak uruchomić ze skryptu PHP inny skrypt, tak żeby działał w tle. Wiem jak napisać sobie demona który coś tam będzie sobie robił (nie co jakiś tam czas jak Corn, tylko przez jakiś tam czas, a kiedy wszystko zrobi ma się zakończyć), tylko nie wiem jak go uruchomić z innego skryptu PHP. system() mi nie dizała, exec() to samo, a virtual() zamiast wyonać w tle skrypt, załącza mi go do skryptu-rodzica. No jak jeszcze przekazać skryptowi potomnemu jakieś parametry lub zmienne, znalałem tutaj na forum jakiś link, ale jest on martwy. Czy da się to zrobić tak jak wywoływanie skryptu w przeglądarce "skrypt.php?val1=1&val2=2" czy trzeba to zrobić za pomocą parametrów??

Używam serwera WAMP5 1.7.3 na Windowsie, ale jeżeli ktoś wie jak zrobić to samo na serwerze Linuxowym to proszę, niech napiszę bo nie wiem czy nie będę musiał przerzucić się właśnie na linuxa.
Cysiaczek
php nie podtrzymuje procesu - jedynie CRON, lub inny demon ;]

Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole

Pozdrawiam.
23kulpamens
Temat już poprawiłem, ale nadal nie wiem jak to zrobić, musi być jakiś sposób uruchamiania skryptu potomnego z PHP tak żeby działał nawet po zakończeniu skryptu macierzystego. Coś jak fork() w C pod Linuxem. Wystrczą mi linki do jakichś źródeł.
-----------------------------------------------------------------------------------------------------------
W sumie to wymyśliłem że rozwiążę to inaczej uruchamiając skrypt osobno z przeglądarki, ręcznie. Skrypt który będzie chodził cały czas i co pewien czas odświeżał bazę danych. Tylko jak wywoływać skrypt w pętli żeby nie kończył swojego zadania po zamknięciu okna przeglądarki, tylko był cały czas aktywny na serwerze.
Użyć:
  1. <?php
  2. header('Refresh: 5; url=index.php');
  3. ?>


  1. <?php
  2. sleep(5);
  3. header("Location: index.php");
  4. ?>


czy

  1. <?php
  2.  sleep(5);
  3.  virtual("skrypt.php");
  4.  ?>
marcio
jak ja zrobilem skaner portow ktory mial skanowac bardzo duzo portow to kolega mi powiedzial zebym zrobic iframe i program bedzie dzialal w tle ale nie probowalem wiec nie wiem czy dziala
23kulpamens
Cytat
Funkcją zamienną IFRAME w PHP jest funkcja INCLUDE.....

Można ją zastosować w dowolnym dokumencie PHP w sposób pokazany poniżej:
Kod:
<? include ("strona.php"); ?>.
marcio
nie chodzi mi o to masz moze twoja strone na ktorej jest duzo odpowiedzi to wsadz tam niewidocznego iframe a skryot bedzie dalej dzialal biggrin.gif
23kulpamens
Nie rozumiem o czym piszesz. Niewidzialny iFrame?? Mógłbyś wrzucić jakiś przykład??

Ja próbowałem zrobić to tak:

  1. <?php
  2. ?>


ale skrypt wyłącza się po 270 sekundach, nawet jeżeli ustawię:
Kod
max_execution_time = 0    ; Maximum execution time of each script, in seconds
marcio
jak bedzie moj kolega to sie go spytam bo ja nie wiem ale chyba mu chodzi o normalny iframe
Qbexus
Ja odpalam skrypt kilka krotnie z różnymi parametrami wysłanymi post przy pomocy curl-a i smiga. Rodzic w pętli zrobi swoje a dzieciaczki ciężko pracują a że to robią widać w plikach które zapisują na dysku.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.