Ako si PHP skriptu pokrenuo iz komandne linije, a u prvom postu si to i rekao, onda Apache nema nikakve veze sa ovim scenariom. Pokrenuo si PHP proces koji se izvrsava opd korisnikom sa kojim si se ulogovao na sistem. U konzoli mozes napisati npr:
Code:
$ ps aux | grep ime_skripte
da vidis da li je taj proces ziv. Ako jeste, gornja komanda ce ti vratiti nesto, ako nije, onda naravno nece :)
E sad. Kad pokrenes PHP skriptu iz terminala, mislim da se vremensko ogranicenje iz php.ini-ja ne primenjuje. I ja sam pustao skripte koje su radile po nekoliko dana i zavrsavale posao sa vremenskim ogranicenjem od standardnih 30 sekundi u konfigarucionoj datoteci.
Prvo, kada skript "umre", proveri logove.
dmesg je dobar pocetak. Vidi u php.ini-ju da li je setovan error_log file, ako nije, setuj, pokreni skriptu i kad umre proveri taj log.
Drugo, kako i gde pokreces skript? Da li se preko ssh-a ulogujes na neki remote server, pustis skript, pa se odjavis? Stvar je da kada se neki korisnik uloguje na sistem, pokrene neki proces i kada se odjavi, sistem ubije njegove procese. Ako ovako radis, onda probaj da pokrenes skript na sledeci nacin:
Code:
$ nohup php ime_skripte.php &
Sa
nohup komandom ces pokrenuti proces prebaciti u "job" queue, te kad se odjavis sa sistema, proces nece biti ubijen. & znak na kraju stavlja ceo taj proces u "pozadinu" tako da ces dobiti kontrolu nazad nad tim terminalom. U bilo kom trenutku trenutne poslove, pokrenute procese od strane tebe, mozes videti pomocu:
Code:
$ jobs
I vratice ti status svih tvojih procesa, koji su jos u toku i koji su zavrseni.
HTH