How To Communicate Between PHP Scripts (Sample Source Code Included) Cómo comunicarse entre scripts PHP (muestra el código fuente incluido)
PHP scripts such as WordPress, phpBB, phpMyAdmin etc. operate in their own world without much inter-process communication, even if they are running on the same Apache server. Scripts PHP, como WordPress, phpBB, phpMyAdmin etc operar en su propio mundo sin mucha comunicación entre procesos, aun cuando se ejecutan en el mismo servidor Apache. However sometimes you need to have a seamless way to communicate between PHP scripts without deadlock or resource contention. Sin embargo a veces es necesario que usted tenga una perfecta manera de comunicarse entre los scripts PHP o sin bloqueo de recursos de contención. This is where messaging becomes useful. Aquí es donde se convierte en útil la mensajería. PHP allows you to easily communicate between scripts running on the same machine. PHP le permite comunicarse fácilmente entre los scripts se ejecutan en la misma máquina.
PHP provides a set of function for inter-process communication. PHP ofrece un conjunto de funciones para la comunicación entre procesos. They are: Ellos son:
msg_get_queue — Create or attach to a message queue msg_get_queue - Crear o atribuimos a una cola de mensajes
msg_receive — Receive a message from a message queue msg_receive - Recibir un mensaje de una cola de mensajes
msg_remove_queue — Destroy a message queue msg_remove_queue - Destruye una cola de mensajes
msg_send — Send a message to a message queue msg_send - Enviar un mensaje a una cola de mensajes
msg_set_queue — Set information in the message queue data structure msg_set_queue - Set información en la cola de mensajes estructura de datos
msg_stat_queue — Returns information from the message queue data structure msg_stat_queue - Devuelve información de la cola de mensajes estructura de datos
Let’s see an actual example with two scripts which communicate with each other. Veamos un ejemplo real con dos guiones que se comunican unos con otros. Save the files (preferably with the given names) on your htdocs (/var/www/html on Linux) directory. Guardar los archivos (de preferencia con el nombre) en su htdocs (/ var / www / html en Linux) directorio. First run the msg_send.php to add message to the queue. En primer lugar ejecutar el msg_send.php añadir mensaje a la cola. Then run msg_receive.php to get the messages and display them. A continuación, ejecute msg_receive.php para recibir los mensajes y mostrarlos.
File: msg_send.php Expediente: msg_send.php
Notes: This file adds two message to the queue Notas: Este fichero añade dos mensaje a la cola
File: msg_receive.php Expediente: msg_receive.php
Note: This file receives the message and prints them. Nota: Este archivo recibe el mensaje y los imprime.
The output from the first script will be similar to: La salida de la primera secuencia de comandos será similar a:
Array ( [msg_perm.uid] => 48 [msg_perm.gid] => 48 [msg_perm.mode] => 438 [msg_stime] => 1194961462 [msg_rtime] => 1194961436 [msg_ctime] => 1194961406 [msg_qnum] => 2 [msg_qbytes] => 16384 [msg_lspid] => 9474 [msg_lrpid] => 9472 ) Array ([msg_perm.uid] => 48 [msg_perm.gid] => 48 [msg_perm.mode] => 438 [msg_stime] => 1194961462 [msg_rtime] => 1194961436 [msg_ctime] => 1194961406 [msg_qnum] => 2 [msg_qbytes] => 16384 [msg_lspid] => 9474 [msg_lrpid] => 9472) The output from the second script will be similar to: La salida de la segunda secuencia de comandos será similar a:
This is message #1 Array ( [msg_perm.uid] => 48 [msg_perm.gid] => 48 [msg_perm.mode] => 438 [msg_stime] => 1194961462 [msg_rtime] => 1194961471 [msg_ctime] => 1194961406 [msg_qnum] => 1 [msg_qbytes] => 16384 [msg_lspid] => 9474 [msg_lrpid] => 9476 ) This is message #2 Array ( [msg_perm.uid] => 48 [msg_perm.gid] => 48 [msg_perm.mode] => 438 [msg_stime] => 1194961462 [msg_rtime] => 1194961471 [msg_ctime] => 1194961406 [msg_qnum] => 0 [msg_qbytes] => 16384 [msg_lspid] => 9474 [msg_lrpid] => 9476 ) Este es el mensaje # 1 Array ([msg_perm.uid] => 48 [msg_perm.gid] => 48 [msg_perm.mode] => 438 [msg_stime] => 1194961462 [msg_rtime] => 1194961471 [msg_ctime] => 1194961406 [ msg_qnum] => 1 [msg_qbytes] => 16384 [msg_lspid] => 9474 [msg_lrpid] => 9476) Este es el mensaje # 2 Array ([msg_perm.uid] => 48 [msg_perm.gid] => 48 [msg_perm. mode] => 438 [msg_stime] => 1194961462 [msg_rtime] => 1194961471 [msg_ctime] => 1194961406 [msg_qnum] => 0 [msg_qbytes] => 16384 [msg_lspid] => 9474 [msg_lrpid] => 9476) Filed under Filed under Enterprise Software Enterprise Software , Headline News Headline News , How To Cómo , Open Source Software Open Source Software , PHP , Programming Programación , Tech Note Nota técnica , Web | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | este artículo |
Email this Article Enviar artículo
You may also like to read También puede leer |




May 6th, 2008 at 8:41 am Mayo 6, 2008 a 8:41 am
[...] can be used to store and retrieve data across processes. [...] Se puede utilizar para almacenar y recuperar datos a través de los procesos. This is also another alternative way to communicate between php scripts. Esta es también otra forma alternativa de comunicar entre php scripts. Normally shared memory is used for caching frequently used data in memory for php scripts on the [...] Normalmente la memoria compartida se utiliza para el almacenamiento en caché los datos utilizados con frecuencia en la memoria de scripts PHP en la [...]