shmop

shmop

Shmop,是一個易於使用的功能集,允許PHP讀,寫,創建和刪除UNIX共享記憶體段。

基本介紹

  • 外文名:shmop
  • 平台:Windows 2000
  • close:關閉共享記憶體塊shm
  • delete:刪除共享記憶體塊
安裝,函式,使用示例,

安裝

要使用shmop ,您將需要使用 - enable - shmop在配置行中的參數來編譯PHP。
到Windows 2000以前的Windows版本不支持共享記憶體。在Windows下, Shmop只會當PHP作為Web伺服器模組運行,如Apache或IIS ( CLI和CGI將無法正常工作) 。

函式

ftok — 創建鍵 $shmop_key = ftok(__FILE__,'p');
shmop_close— 關閉共享記憶體塊
shmop_delete— 刪除共享記憶體塊
shmop_open— 創建或打開共享記憶體塊
shmop_read—從共享記憶體塊讀取數據
shmop_size— 獲取共享記憶體塊的大小
shmop_write— 到共享記憶體塊寫入數據

使用示例

<?php
// Create 100 byte shared memory block with system id of 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);
?>

熱門詞條

聯絡我們