2

我正在创建一个必须检查(计数)用户(写入密集型)请求的应用程序。

'shmop_open(MY_INT_USER_ID, ... )' 返回共享访问的系统 ID,但我不确定,64 位操作系统上的 shmop 系统 ID 是否有任何限制?或者这是否会导致问题,例如碰撞?

4

1 回答 1

6

所以我最初写了一篇关于如何在 Linux 中更改共享内存设置的大文章,但后来我重新阅读了你的问题,发现你在询问传递给shmop_open.

“系统 ID”只是一个 32 位整数,用作密钥。它没有魔法,唯一真正的限制是它不是零并且低于 32 位。是的,即使在运行 64 位 PHP 的 64 位系统上也是如此。这是一个 POSIX 的事情。

请注意,没有命名空间或有效的安全控制。假设您已相应地设置了权限,知道密钥的外部程序能够访问它。共享内存不适用于共享主机。

于 2012-12-09T04:22:59.243 回答