1

実稼働サーバーで pcntl lib を使用することが推奨されない理由を誰か教えてもらえますか? PHP マニュアルはそれについて非常に簡単に説明しており、私はこのライブラリを使用する必要があります... PHP で同じことを行う別の方法はありますか?

4

2 に答える 2

3

pcntl がサポートする機能 (フォーク、プロセス制御、シグナル処理) は、CGI スタイルのアプリケーションで使用すべきではないことが明確に示されているため、実稼働環境では pcntl は推奨されません。さて、PHP でデーモンまたはコマンド ライン アプリケーションを作成している場合、それは別の問題です...

PHPマニュアルから:

Process Control は Web サーバー環境内で有効にしないでください。Web サーバー環境内で Process Control 機能を使用すると、予期しない結果が生じる可能性があります。

于 2011-02-04T22:18:31.597 に答える
1

php cli スクリプトと sapi/cgi スクリプトの違いについて明確にする必要があります。実稼働システムの php は、pcntl をサポートしている場合もあります。

ここで重要なことは、2 つの php 構成ファイルを用意することです。1 つは cli 用、もう 1 つは cgi セットアップ用です。次に、cgi セットアップで pctnl を無効にする必要があります。実際のセキュリティの問題は、Web サーバーによって実行されたときにスクリプトをフォークすると、ゾンビ プロセスがシステムにフラッディングする可能性があるためです。

cli 環境では、フォークするスクリプトを記述できる必要がある場合があります...

于 2011-03-30T10:22:30.107 に答える