説明
int
shmop_open ( int key, string flags, int mode, int size)
shmop_open() ã¯å…±æœ‰ãƒ¡ãƒ¢ãƒªãƒ–ãƒãƒƒã‚¯ã‚’作æˆã¾ãŸã¯ã‚ªãƒ¼
プンã—ã¾ã™ã€‚
shmop_open() ã¯æ¬¡ã®4ã¤ã®å¼•æ•°ã‚’ã¨ã‚Šã¾ã™: keyã¯å…±
有メモリブãƒãƒƒã‚¯ã®ã‚·ã‚¹ãƒ†ãƒ IDã§ã‚りã€ã“ã®ãƒ‘ラメータã¯10進数ã¾ãŸã¯
16é€²æ•°ã§æŒ‡å®šã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚2番目ã®ãƒ‘ラメータ㯠flagsã§ã‚りã€
次ã®ã‚‚ã®ã‚’指定å¯èƒ½ã§ã™ã€‚
"a" アクセス用 (IPC_EXCLã‚’è¨å®šã™ã‚‹)
æ—¢å˜ã®å…±æœ‰ãƒ¡ãƒ¢ãƒªã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’オープンã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«ã“ã®ãƒ•
ラグを使用ã—ã¦ä¸‹ã•ã„
"c" 作æˆç”¨ (IPC_CREATEã‚’è¨å®šã™ã‚‹)
æ–°è¦ã«å…±æœ‰ãƒ¡ãƒ¢ãƒªã‚»ã‚°ãƒ¡ãƒ³ãƒˆãŒå¿…è¦ãªå ´åˆã«ã“ã®ãƒ•ラグを使用ã—ã¦ä¸‹
ã•ã„
3番目ã®ãƒ‘ラメータ㯠mode ã§ã€å…±æœ‰ãƒ¡ãƒ¢ãƒªã‚»ã‚°ãƒ¡ãƒ³ãƒˆã«è¨å®šã—ãŸã„許å¯
属性ã§ã€ãƒ•ァイルã«é–¢ã™ã‚‹è¨±å¯å±žæ€§ã¨åŒæ§˜ãªã‚‚ã®ã§ã™ã€‚許å¯å±žæ€§ã¯ã€ä¾‹
ãˆã° 0644 ã®ã‚ˆã†ãª8進数形å¼ã§æ¸¡ã™å¿…è¦ãŒã‚りã¾ã™ã€‚最後ã®ãƒ‘ラメータ
sizeã«ã¯ä½œæˆã—ãŸã„共有メモリブãƒãƒƒã‚¯ã®å¤§ãã•ã‚’ãƒã‚¤ãƒˆæ•°ã§æŒ‡å®šã—ã¾
ã™ã€‚
注æ„
注æ„: æ—¢å˜ã®ãƒ¡ãƒ¢ãƒªã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’オープンã™ã‚‹å ´åˆã«ã¯ã€3番目ãŠã‚ˆã³
4番目ã®å¼•æ•°ã«ã¯0を指定ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚æˆåŠŸæ™‚ã«
shmop_open() ã¯ä½œæˆã—ãŸå…±æœ‰ãƒ¡ãƒ¢ãƒªã‚»ã‚°ãƒ¡ãƒ³ãƒˆã«
アクセスã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹IDã‚’è¿”ã—ã¾ã™ã€‚
例 1共有メモリブãƒãƒƒã‚¯ã‚’æ–°è¦ã«ä½œæˆã™ã‚‹ <?php
$shm_id = shmop_open(0x0fff, "c", 0644, 100);
?> |
|
ã“ã®ä¾‹ã¯ã€ã‚·ã‚¹ãƒ†ãƒ ID 0x0fff ã®å…±æœ‰ãƒ¡ãƒ¢ãƒªãƒ–ãƒãƒƒã‚¯ã‚’オープンã—ã¾ã™ã€‚