Following code will do the job:
<?php
$key = 0;
while (true) {
echo $key,"...\r";
if (msg_queue_exists($key))
echo "\r",$key,'::Exists',"\n";
$key++;
}
?>
msg_queue_exists
(PHP 5 >= 5.3.0)
msg_queue_exists — メッセージキューが存在するかどうかを調べる
説明
bool msg_queue_exists
( int
$key
)
key で指定したメッセージキューが存在するかどうかを調べます。
パラメータ
-
key -
キューのキー。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
参考
- msg_remove_queue() - メッセージキューを破棄する
- msg_receive() - メッセージキューからメッセージを受信する
- msg_stat_queue() - メッセージキューデータ構造体の情報を返す
tkuschel at loytec dot com ¶
10 months ago
michael dot hajuu at gmail dot com ¶
2 years ago
A simple script for checking what message queues are in use on a [presumably new] server environment.
Run with php-cli
<?php
$k = 0;
while (true) {
echo $key,"...\r";
if (msg_queue_exists($key))
echo "\r",$key,'::Exists',"\n";
$key++;
}
?>
jaredm ¶
3 years ago
A workaround for those not yet running 5.3 on *nix:
<?php
function queue_exists($key) {
if(function_exists("msg_queue_exists")) {
return msg_queue_exists($key);
} else {
$aQueues = array();
exec("ipcs -q | grep \"^[0-9]\" | cut -d \" \" -f 1", $aQueues);
if(in_array($key,$aQueues)) return true;
else return false;
}
}
?>
Maybe a bit slow and kludgey, but it works.
