Nếu bạn không muốn xây dựng phần mở rộng pcntl, thì cách thay thế tốt là sử dụng proc_open().
http://www.php.net/manual/en/function.proc-open.php
Sử dụng rằng cùng với stream_select() để trình PHP của bạn có thể ngủ cho đến khi có chuyện xảy ra với quá trình con bạn đã tạo.
Điều đó có hiệu quả sẽ tạo một quy trình trong nền mà không chặn quá trình PHP gốc. Bạn PHP có thể đọc và ghi vào STDIN, STDOUT, STDERR.
Để làm cho trình duyệt hoàn tất tải (dừng chỉ báo tiến trình tải) thì bạn có thể sử dụng những gì Milan Babuškov đã đề cập.
Chìa khóa để làm cho trình duyệt nghĩ rằng yêu cầu HTTP hoàn tất, là gửi cho nó độ dài nội dung. Để làm điều này, bạn có thể bắt đầu đệm yêu cầu, sau đó xóa nó sau khi bạn gửi tiêu đề Content-Length.
ví dụ:
<?php
ob_start();
// render the HTML page and/or process stuff
header('Content-Length: '.ob_get_length());
ob_flush();
flush();
// can do more processing
?>
Có thể 'trợ giúp với điều này không? Có ý tưởng nào không? –
Curl? Có thể chỉ với một yêu cầu 'đầu', nhưng tôi hoài nghi –
- nếu tập lệnh thứ nhất chấm dứt, thì tập lệnh thứ 2 sẽ thông báo cho 1st như thế nào? - đây có phải là trang web hoặc tập lệnh bảng điều khiển không? –