ここで()関数で、ftok使用される公式文書アドレスをクリックしてください:
ftok
(PHP 4> = 4.2.0、PHP 5、PHP 7)
ftok - System VのIPCキーにパス名とプロジェクト識別子を変換します
説明
ftok( 文字列
$pathname
、 文字列 $proj
): int型
関数は、変換 pathname
中に、既存のアクセス可能なファイルとプロジェクト識別子を 整数 例えばと共に使用するため shmop_open() および他のシステムV IPCキー。
上記で説明:$エフェクトパス名は、ファイル名(ファイルが読み取り可能であることを確認する必要が)、projの独自の定義識別子$はパス名がアクセス識別子で、整数値をkey_tのに変換され得ることです。
新msg_send.php
<?PHPの $キー = ftok(__ DIR__、 'P' )。 エコー($キー。PHP_EOL ); #Queueリソースハンドル $キュー = msg_get_queue($キー); // のvar_dump($キュー)。 #キューステータス情報 $情報 = msg_stat_queue($キュー); // でvar_export($情報)。 私は$ = 0 ; しばらく($ I ++ <10 ) { msg_send($キュー、1、 'それを食べる?'。$ I、偽、偽); }
新msg_receive.php同じディレクトリ
<?PHPの $キー = ftok(__ DIR__、 'P' )。 $キュー = msg_get_queue($キー)。 エコー( "queue_key:"。$キー。PHP_EOL ); I $ = 0 ;
//ここでモードをブロックして、状況意志はないが(真)と無限ループに、のフルメモリ 間(真の) { MSG_RECEIVE($キュー、0、$ MSG_TYPE、1024、$メッセージ、偽、0 ); エコー( "I :." $ I 'メッセージ:' .. $メッセージ);
SLEEP(2); //増加が影響便利な表示プレゼンテーションを取ります }
開始
[広州MSG @ルート] #、PHP msg_send.php 1879117732 #、それぞれ、質量参加1〜3つのランmsg_receive.phpの開いているウィンドウを増加させる効果を実証するために、二つ、三つ [広州@はルートMSG]は#PHP msg_receive.phpワン queue_key:1879117732 I:0、インデックス:1つは、メッセージ: 1にそれを食べる? I:0、インデックス:1つは、メッセージ:?2それを食べる I、0インデックス:ワンを、メッセージ:5にそれを食べる? I:0、インデックス:1つは、メッセージは:8それを食べますか? [広州MSG @ルート] #PHP msg_receive.php TWOの queue_key:1879117732 私:0、インデックス:TWO、メッセージ:?3それを食べる 私は:0、インデックス:TWO、メッセージ:?6それを食べる 私は:0、インデックス:2は、メッセージ:9それを食べますか? [広州MSG @ルート] #PHP msg_receive.php三つの queue_key:1879117732 私:0、インデックス:三、メッセージ:?4それを食べる 私は:0、インデックス:三、メッセージ:?7それを食べる 私は:0、インデックス:、メッセージ3:10それを食べますか? #あなたは効果同様のRedisのは、スクリプトの出力を読んでキュー見ることができ
ますが、キューmsg_remove_queue($キュー)を破壊しない場合は、最後に#
注:スクリプトの実行中にftok()関数は、値が変更された計算場合は、キュー名が一致しないことが変更前と変更後に読み込まれ、そのようなファイルを実行する前に作成されたとして、実行が削除されたり、ファイルの内容自体を再作成または変更、2 GET ftokそれは異なる場合があります。