您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關php實現共享內存進程通信函數之shm的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
<?php $key = 0x4337b124; $shar_key = 1; // 創建一個共享內存 $shm_id = shm_attach($key, 1024, 0666); // resource type if ($shm_id === false) { die('Unable to create the shared memory segment' . PHP_EOL); } //設置一個值 shm_put_var($shm_id, $shar_key, 'test'); //刪除一個key shm_remove_var($shm_id, $shar_key); //獲取一個值 $value = shm_get_var($shm_id, $shar_key); var_dump($value); //檢測一個key是否存在 var_dump(shm_has_var($shm_id, $shar_key)); //從系統中移除 shm_remove($shm_id); //關閉和共享內存的連接 shm_detach($shm_id);
注意:$shar_key 只能是 int 型的參數。
詳細說明
shm_attach
打開建立共享內存空間。
語法: int shm_attach(int key, int [memsize], int [perm]);
返回值: 整數
函數種類: 操作系統與環境
內容說明: 本函數用來打開或者建立共享內存空間。參數 key 為這部分的鍵。參數 memsize 可省略,表示所需最小的內存空間 (單位為 byte 位組),默認值在 php3.ini 或 php.ini 中的 sysvshm.init_mem 配置,若無配置則為 10000 bytes。參數 perm 亦可省略,為該內存空間的使用權限,默認值為 666。返回值為共享內存的ID 值,可供程序使用。
shm_detach
中止共享內存空間鏈接。
語法: int shm_detach(int shm_identifier);
返回值: 整數
函數種類: 操作系統與環境
內容說明: 本函數用來中止與共享內存空間的鏈接。參數 shm_identifier 即為欲停止部分的共享內存 ID 值。
shm_remove
清除內存空間。
語法: int shm_remove(int shm_identifier);
返回值: 整數
函數種類: 操作系統與環境
內容說明: 本函數用來清除共享內存空間的所有資料。參數 shm_identifier 即為欲停止部分的共享內存 ID 值。
shm_put_var
加入或更新內存空間中的變量。
語法: int shm_put_var(int shm_identifier, int variable_key, mixed variable);
返回值: 整數
函數種類: 操作系統與環境
內容說明: 本函數可用來增加或者修改內存空間中變量值。參數 shm_identifier 為欲增加修改的共享內存 ID 值。參數 variable_key 為欲增加修改的變量名稱鍵。參數 variable 為變量的內容,變量的類型可以是倍精確數 (double)、整數 (integer)、字符串 (string) 或者是數組 (array)。
shm_get_var
取得內存空間中指定的變量。
語法: mixed shm_get_var(int shm_identifier, int variable_key);
返回值: 混合類型資料
函數種類: 操作系統與環境
內容說明: 本函數可用來取得內存空間中指定的變量值。參數 shm_identifier 為欲取得的共享內存 ID 值。參數 variable_key 為欲取得的變量名稱鍵。返回值即為指定變量鍵的值。
shm_remove_var
刪除內存空間中指定的變量。
語法: int shm_remove_var(int id, int variable_key);
返回值: 整數
函數種類: 操作系統與環境
內容說明: 本函數可用來刪除內存空間中指定的變量值。參數 shm_identifier 為欲除去的共享內存 ID 值。參數 variable_key 為欲刪除的變量名稱鍵。
關于php實現共享內存進程通信函數之shm的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。