> 백엔드 개발 > PHP 튜토리얼 > 스크립트를 차단하지 않고 PHP 명령을 비동기적으로 실행하려면 어떻게 해야 합니까?

스크립트를 차단하지 않고 PHP 명령을 비동기적으로 실행하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-05 11:58:09
원래의
311명이 탐색했습니다.

How Can I Execute PHP Commands Asynchronously Without Blocking the Script?

결과를 기다리지 않고 PHP 명령 실행

PHP에서 exec()를 사용하여 명령을 실행하면 일반적으로 명령이 완료될 때까지 스크립트가 대기하게 됩니다. . 그러나 명령을 비동기적으로 실행하여 결과를 기다리지 않고 스크립트를 진행할 수 있는 방법이 있습니다.

문서에서는 표준 출력과 표준 오류를 모두 /dev/null로 리디렉션한 다음 백그라운드로 실행할 수 있다고 설명합니다. 이를 달성하기 위한 명령:

> /dev/null 2>&1 &
로그인 후 복사

이것은 명령이 PHP를 차단하는 출력을 생성하지 않도록 보장합니다. script.

또는 완전히 독립적인 프로세스를 시작하려면 다음 명령을 사용할 수 있습니다.

exec('bash -c "exec nohup setsid your_command > /dev/null 2>&1 &"');
로그인 후 복사

이 명령은 지정된 명령을 실행하는 새로운 Bash 셸을 생성합니다. 프로세스는 현재 Apache 스레드에서 분리되어 페이지가 종료되더라도 계속 실행됩니다.

위 내용은 스크립트를 차단하지 않고 PHP 명령을 비동기적으로 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿