Jeśli nie chcesz budować rozszerzenia pcntl, dobrym rozwiązaniem jest użycie proc_open().
http://www.php.net/manual/en/function.proc-open.php
Używaj razem z stream_select() więc proces PHP może spać aż coś się dzieje z procesem potomnym utworzonego.
To skutecznie utworzy proces w tle, bez blokowania macierzystego procesu PHP. Ty PHP możesz czytać i pisać do STDIN, STDOUT, STDERR.
Aby załadować przeglądarkę (zatrzymać wskaźnik postępu ładowania), możesz skorzystać z informacji podanych przez Milan Babuškov.
Kluczem do tego, aby przeglądarka uznała, że żądanie HTTP zostało zakończone, jest wysłanie jej treści o długości. Aby to zrobić, możesz rozpocząć buforowanie żądania, a następnie przepłukać je po wysłaniu nagłówka Content-Length.
np
<?php
ob_start();
// render the HTML page and/or process stuff
header('Content-Length: '.ob_get_length());
ob_flush();
flush();
// can do more processing
?>
Czy "curl" może pomóc w tym? Masz pomysł? –
Curl? Być może za pomocą żądania 'head', ale jestem sceptyczny –
- jeśli pierwszy skrypt zostanie zakończony, w jaki sposób drugi skrypt poinformuje o pierwszym? - czy jest to strona internetowa czy skrypt konsoli? –