문제는 오랜 시간이 지나면 스크립트가 중단된다는 것입니다. 이것과 다른 아무것도 같은 strace를 반환 뭔가 : 나는 부착 Xdebug는으로 스크립트를 실행할 수 있습니다어떻게 오래 실행 PHP 스크립트를 디버깅합니까?
here'n'there 디버그 메시지를 퍼팅
Process 7286 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>) = 0
poll([{fd=13, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {1817569, 74651533}) = 0
clock_gettime(CLOCK_MONOTONIC, {1817569, 74734744}) = 0
clock_gettime(CLOCK_MONOTONIC, {1817569, 74812047}) = 0
poll([{fd=13, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 1000) = 0 (Timeout)
poll([{fd=13, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout)
....
는 최후의 수단으로 남겨 ..하지만 거기에 현재 컨텍스트/stacktrace/localvars 덤프 xdebug 트리거하는 PHP 프로세스에 일부 POSIX 신호를 보낼 수있는 방법은 무엇입니까?
PHP 스크립트의 '사후 덤프'를 가져올 수 있습니까?
에서 기능 추적에 대한 자세한 정보가
아마 Xdebug는에 의해 PHP 프로세스로 전송 잡은 _kill_에 의해 예외 – DevZer0
하지 예외지만, POSIX 신호입니다. 존재하는 것과 같은 것이 있다면 그것은 완벽 할 것입니다. – xvga
예, [pcntl_signal] (http://php.net/manual/en/function.pcntl-signal.php)을 사용하여 posix 신호를 올바르게 처리 한 다음 좋은 예외를 던질 수 있습니다. –