2011-12-22 5 views
1

gdbなどを使ったLinuxデバッグの世界では初心者として、私たちが見ている問題について助けを求めています。スタックされていない(終了していない)PHPプロセスをデバッグしますか?

ホストされた/管理された "VPS"(仮想プライベートサーバー - 私たちは大部分は構成の制御下にありますが)では、時折PHPプロセスが "永遠"にぶつかることがあります。ほとんどのウェブヒットは通常どおりに行われますが、自分で識別してそれを殺してしまわないと、数十分間持続します。

私はgdbをプロセスに接続してスタックトレースを取得したいと思いますが、わかりません。また、デバッグを有効にしてPHPを実行する必要があるかどうかもわかりません。

長時間実行されているPHPプロセスを識別する簡単な方法がありますか?無限のポーリングループに陥るような単純なことなら、私たちを助けてくれるかもしれません。

+0

gdbの中で、スタックトレースを取得するために 'backtrace'を試してください。 – hakre

答えて

2

PHPにはスクリプトが一定の制限時間を超えて実行されるのを防ぐ自動消去機能があり、max_execution_time .ini設定とset_time_limit()機能を調べます。

あなたはまだスクリプトが死んでいない原因を突き止めておく必要がありますが、手動で強制終了する手間が省けます。

関連する問題