|
|
 |
CIV. Shared Memory Functions
Shmop is an easy to use set of functions that allows PHP to read,
write, create and delete Unix shared memory segments.
注:
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).
注:
In PHP 4.0.3, these functions were prefixed by shm
rather than shmop.
To use shmop you will need to compile PHP with the
--enable-shmop parameter in your
configure line.
例子 1. Shared Memory Operations Overview |
<?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);
?>
|
|
add a note
User Contributed Notes
Shared Memory Functions
slavapl at mailandnews dot com
12-Jan-2001 07:02
What you need to realise is that sysvshm is extremly php oriented in it's
ability, it's quite a kludge interfacing other NON PHP utilities with it.
For example have you tried using sysvshm to read an shm segment NOT created
by php? It's not possible, because sysvshm uses a proprietry format, in
essense it can ONLY be used within PHP unless of course you take time to
figure out this format.
So basically, the purpose of shmop is to
provide a symple interface to shared memory that can be used with OTHER NON
php shm creators.
Hope this clears it up.
| |