mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-25 21:38:56 +00:00

web server module instead SAPI, thx derick git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@157076 c90b9560-bf6c-de11-be94-00142212c4b1
121 lines
2.9 KiB
XML
121 lines
2.9 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.14 $ -->
|
|
<reference id="ref.shmop">
|
|
<title>Shared Memory Functions</title>
|
|
<titleabbrev>shmop</titleabbrev>
|
|
|
|
<partintro>
|
|
<section id="shmop.intro">
|
|
&reftitle.intro;
|
|
<para>
|
|
Shmop is an easy to use set of functions that allows PHP to read,
|
|
write, create and delete Unix shared memory segments.
|
|
</para>
|
|
<note>
|
|
<simpara>
|
|
Versions of Windows previous to Windows 2000 do not support shared memory.
|
|
Under Windows, Shmop will only work when PHP is running as a web server
|
|
module, such as Apache or IIS (CLI and CGI will not work).
|
|
</simpara>
|
|
</note>
|
|
<note>
|
|
<simpara>
|
|
In PHP 4.0.3, these functions were prefixed by <literal>shm</literal>
|
|
rather than <literal>shmop</literal>.
|
|
</simpara>
|
|
</note>
|
|
</section>
|
|
|
|
<section id="shmop.requirements">
|
|
&reftitle.required;
|
|
&no.requirement;
|
|
</section>
|
|
|
|
&reference.shmop.configure;
|
|
|
|
<section id="shmop.configuration">
|
|
&reftitle.runtime;
|
|
&no.config;
|
|
</section>
|
|
|
|
<section id="shmop.resources">
|
|
&reftitle.resources;
|
|
<para>
|
|
</para>
|
|
</section>
|
|
|
|
<section id="shmop.constants">
|
|
&reftitle.constants;
|
|
&no.constants;
|
|
</section>
|
|
|
|
<section id="shmop.examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Shared Memory Operations Overview</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
// Create 100 byte shared memory block with system id if 0xff3
|
|
$shm_id = shmop_open(0xff3, "c", 0644, 100);
|
|
if (!$shm_id) {
|
|
echo "Couldn't create shared memory segment\n";
|
|
}
|
|
|
|
// Get shared memory block's size
|
|
$shm_size = shmop_size($shm_id);
|
|
echo "SHM Block Size: " . $shm_size . " has been created.\n";
|
|
|
|
// Lets write a test string into shared memory
|
|
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
|
|
if ($shm_bytes_written != strlen("my shared memory block")) {
|
|
echo "Couldn't write the entire length of data\n";
|
|
}
|
|
|
|
// Now lets read the string back
|
|
$my_string = shmop_read($shm_id, 0, $shm_size);
|
|
if (!$my_string) {
|
|
echo "Couldn't read from shared memory block\n";
|
|
}
|
|
echo "The data inside shared memory was: " . $my_string . "\n";
|
|
|
|
//Now lets delete the block and close the shared memory segment
|
|
if (!shmop_delete($shm_id)) {
|
|
echo "Couldn't mark shared memory block for deletion.";
|
|
}
|
|
shmop_close($shm_id);
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</section>
|
|
</partintro>
|
|
|
|
&reference.shmop.functions;
|
|
|
|
</reference>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|