사용자 작업 후에 서버에서 백그라운드로 실행되고 싶은 PHP 스크립트가 있습니다. 명령은 백그라운드에서 실행되어야하는 반면 사용자는 다른 페이지로 리디렉션되어야합니다. 다음은 위의 스크립트가 잘 실행되는 코드PHP exec 및 header redirect
$command = exec('php -q /mylongrunningscript.php');
header("Location: /main.php?action=welcome");
이지만, $command = exec('php -q /mylongrunningscript.php');
이 실행될 때까지 페이지가 리디렉션되지 않습니다.
해당 사용자가 즉시 환영 페이지로 리디렉션되도록하고 싶습니다.
이 작업을 수행하는 다른 방법이 있습니까? 다른 아이디어는 그 $ command = exec ('php -q /mylongrunningscript.php'); 환영 페이지에서 실행되어야하지만 환영 페이지 HTML은 명령이 실행 된 후에 표시됩니다. 명령은 약 5,6 분이 소요되며 이번에는 페이지가 리디렉션되지 않습니다.
내가 PHP와 센트 OS 리눅스에서 오전 5.3
을 어떻게 내가이 = mylongrunningscript.php 및 UID처럼 mylongrunningscript.php에 인수를 전달할 수있는 12 – Asghar
@Asghar'GET' 매개 변수는 HTTP 프로토콜 만 사용하기 때문에 stdin을 읽을 필요가 있습니다 ('$ _SERVER [ "argv"]'를 확인하십시오). 대신'curl http://mywebsite.com/mylongrunningscript.php?my&get¶ms=here 2> & 1'과 같은 방법으로 HTTP 프로토콜을 사용할 수 있습니다. – h2ooooooo