(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
msg_send — Envoie un message dans une file
$queue
,$message_type
,$message
,$serialize
= true
,$blocking
= true
,&$error_code
= null
msg_send() envoie le message message
de type message_type
(qui DOIT être plus grand que 0) à la file de messages identifiée par queue
.
queue
La file d'attente de messages
message_type
Le type du message (DOIT être plus grand que 0)
message
Le corps du message
Note:
Si
serialize
est définit àfalse
est fournit, DOIT être du type : chaîne de caractères, entier, nombre décimal ou booléen. Dans d'autres cas un avertissement sera émit.
serialize
Le paramètre optionnel serialize
contrôle la méthode d'envoi du message message
. serialize
vaut par défaut true
ce qui signifie que le message message
sera sérialisé en utilisant le même mécanisme que celui qui est utilisé par les sessions, avant d'être envoyé à la file de message. Cela permet d'envoyer des tableaux et des objets complexes à d'autres scripts PHP, ou bien, si vous utilisez l'extension WDDX, d'échanger des messages avec des clients compatibles WDDX.
blocking
Si le message est trop grand pour être stocké par la file, votre script attendra jusqu'à ce qu'un autre processus lise dans la file un message, et libère assez de place pour votre message. C'est le mode bloquant : vous pouvez éviter ce mode en utilisant le paramètre blocking
avec la valeur false
: dans ce cas, msg_send() retournera immédiatement false
si le message est trop gros pour la file. Il assignera alors au paramètre error_code
la valeur de MSG_EAGAIN
, indiquant que vous devriez essayer d'envoyer à nouveau votre message, un peu plus tard.
error_code
Si la fonction échoue, le code d'erreur optionnel sera définit à la valeur de la variable système errno.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Lors de l'émission réussie d'un message, la file est mise à jour comme ceci : msg_lrpid
prend la valeur de l'identifiant de processus du processus appelant, msg_qnum
est incrémenté de 1 et msg_rtime
prend la date et l'heure courante.
Version | Description |
---|---|
8.0.0 | queue attend désormais une SysvMessageQueue; auparavant, une resource était attendue. |