請注意,預設的 permissions 參數是八進位!因此,預設值 0666 與 666 或 0x666 不同。
如果將權限指定為十進位 666,則最終會導致權限阻止讀取號誌。症狀是您只能 sem_get 一次,後續的 sem_get 將會失敗(直到您使用 ipcrm 或 sem_remove 將其完全刪除)。
因此,以下所有都等同於預設值
sem_get ( 123, 1, 0666)
sem_get ( 123, 1, 438)
sem_get ( 123, 1, 0x1b6)
大多數 PHP 開發人員(包括我自己)很少使用八進位數字,因此數字 0666 很容易被誤認為 666 或 0x666。