1

PHP共有メモリとセマフォを使用する場合。セマフォと共有メモリ ブロックのキーが php の他のインスタンスと衝突しないことを最初に確認するにはどうすればよいですか? また、shm_attach 関数を使用して新しいブロックを作成する場合、ブロックがまだ存在していないことを確認する方法はありますか?

4

1 に答える 1

3

あなたがここで何を求めているのかよくわかりません。共有メモリの要点は、それが共有されているということです。したがって、PHP の異なるインスタンスで同じキーを使用できることは、ほとんどの要件です。

通常、人々はファイルシステムのパス (意味的に意味のあるもの) を使用して、ftok() 関数を介してキー (意味のないもの) を生成します。他の php インスタンスと共有されていないランダム キーを生成する場合は、tempnam() を使用して新しいファイルを作成し、それを ftok します。

shm_attach 関数を使用して新しいブロックを作成する場合、ブロックがまだ存在していないことを確認する方法はありますか?

はい - 作成後にそこに何かを入れます。これらの 2 つのステップの間で空だった場合、それは新しいものです。

于 2012-04-11T16:38:59.180 に答える