看PHP Manual中Shared Memory Functions 摘录一段:LXXVIII. 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. The functions will not work on windows, as it does not support shared memory. To use shmop you will need to compile php with the --enable-shmop parameter in your configure line. Note: In PHP 4.0.3, there functions were prefixed by shm rather than shmop. Example 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 shared memory block for deletion."; } shmop_close($shm_id);
?>
Table of Contents shmop_open — Create or open shared memory block shmop_read — Read data from shared memory block shmop_write — Write data into shared memory block shmop_size — Get size of shared memory block shmop_delete — Delete shared memory block shmop_close — Close shared memory block
u couldn't use the share memory function in windows, only in unix or linux……
And,i feel it is not so good…… 我感觉它的进程是一种阻塞式的,有点慢……
摘录一段:LXXVIII. 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. The functions will not work on windows, as it does not support shared memory. To use shmop you will need to compile php with the --enable-shmop parameter in your configure line. Note: In PHP 4.0.3, there functions were prefixed by shm rather than shmop. Example 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 shared memory block for deletion.";
}
shmop_close($shm_id);
?>
Table of Contents
shmop_open — Create or open shared memory block
shmop_read — Read data from shared memory block
shmop_write — Write data into shared memory block
shmop_size — Get size of shared memory block
shmop_delete — Delete shared memory block
shmop_close — Close shared memory block
我感觉它的进程是一种阻塞式的,有点慢……
我想一个CGI程序 能任意操作这块内存能在讲得详细点吗!
而且此函数是作为模块编译才能使用的……
这些函数怎么用啊!我能用他们实现我的程序吗?