<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Introduction</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="book.sem.html">Semaphore</a></div> <div class="next" style="text-align: right; float: right;"><a href="sem.setup.html">Installing/Configuring</a></div> <div class="up"><a href="book.sem.html">Semaphore</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="intro.sem" class="preface"> <h1 class="title">Introduction</h1> <p class="para"> This module provides wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC). </p> <p class="para"> Semaphores may be used to provide exclusive access to resources on the current machine, or to limit the number of processes that may simultaneously use a resource. </p> <p class="para"> This module provides also shared memory functions using System V shared memory. Shared memory may be used to provide access to global variables. Different httpd-daemons and even other programs (such as Perl, C, ...) are able to access this data to provide a global data-exchange. Remember, that shared memory is NOT safe against simultaneous access. Use semaphores for synchronization. <table class="doctable table"> <caption><strong>Limits of Shared Memory by the Unix OS</strong></caption> <tbody class="tbody"> <tr> <td>SHMMAX</td> <td>max size of shared memory, normally 131072 bytes</td> </tr> <tr> <td>SHMMIN</td> <td>minimum size of shared memory, normally 1 byte</td> </tr> <tr> <td>SHMMNI</td> <td> max amount of shared memory segments on a system, normally 100 </td> </tr> <tr> <td>SHMSEG</td> <td> max amount of shared memory segments per process, normally 6 </td> </tr> </tbody> </table> </p> <p class="para"> The messaging functions may be used to send and receive messages to/from other processes. They provide a simple and effective means of exchanging data between processes, without the need for setting up an alternative using Unix domain sockets. </p> <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">This extension is not available on Windows platforms.</span></p></blockquote> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="book.sem.html">Semaphore</a></div> <div class="next" style="text-align: right; float: right;"><a href="sem.setup.html">Installing/Configuring</a></div> <div class="up"><a href="book.sem.html">Semaphore</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>