問題は、スクリプトがしばらくするとハングアップすることです。 straceは次のようなものを返します。
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)
....
あちこちにデバッグ メッセージを配置することは、最後の手段として残されています。
xdebugを添付してスクリプトを実行できますが、POSIX シグナルを php プロセスに送信して xdebug をトリガーし、現在のコンテキスト/スタックトレース/ローカル変数をダンプする方法はありますか?
PHPスクリプトの「事後ダンプ」を取得することは可能ですか?