내 프로젝트는 if-else 조건으로 실행되는 3 개의 PHP 스크립트를 요구합니다. 첫 번째 스크립트는 사이트의 색인 페이지에로드되어 조건이 설정되어 있는지 확인하고, 조건이 충족되면 두 번째 스크립트를 호출합니다. 두 번째 스크립트는 다른 조건이 설정되어 있는지 확인하고 모든 것이 좋으면 마지막 스크립트를 호출합니다.php shell_exec() 백그라운드에서 스크립트를 실행하는 데 도움이 필요합니다.
이제는 if 문에 스크립트를 포함 시켜서이 작업을 수행 할 수 있지만 최종 결과는 MySQL 덤프 호깅 리소스이므로 원래 트리거 페이지와 독립적으로 실행해야합니다.
또한 이러한 스크립트는 인덱스 페이지의 사용자 작업에 관계없이 트리거 된 후에도 계속 수행해야합니다.
마지막으로 한 가지 : win과 nix에서 실행할 수 있어야합니다.
어떻게 하시겠습니까?
다음 코드가 의미가 있습니까?
if ($blah != $blah-size){
shell_exec ('php first-script.php > /dev/null 2>/dev/null &');
}
//If the size matches, die
else {
}
미리 감사드립니다.
업데이트 : 누군가 다른 사람이 동일한 거래를하고있는 경우를 대비해서. 스크립트를 cgi로 실행할 때 PHP에서 버그가있는 것 같지만 Apache의 명령 줄은 테스트 한 모든 버전에서 작동합니다.
exec("php-cli mybigfile.php > /dev/null 2>/dev/null &");
또는 당신은 쉘로 호출 할 수 있습니다
그래서 대신 내가 스크립트를 다음과 같이 호출 버그에게 https://bugs.php.net/bug.php?id=11430를 참조하십시오. 그것은 nix 시스템에서 작동하지만 내 로컬 윈도우는 희망이 없으므로 누구나 윈도우에서 실행하면 작동합니다. 내가 생각할 수있는
cron/windows scheduler가 실행하는 다른 스크립트 작성자 – zerkms
작성 요점은 cron을 사용하지 않고 사용자를 트리거하는 것이 었습니다.:) – Chris81