The function does not calculate groups, it sets groups access list of the current process in accordance to user information in /etc/groups.
Quote from Unix manual page for initgroups:
NAME
initgroups - initialize the supplementary group access list
...
DESCRIPTION
The initgroups() function initializes the group access list by reading the
group database /etc/group and using all groups of which user is a member.
The additional group group is also added to the list.
posix_initgroups
(PHP 5 >= 5.2.0)
posix_initgroups — グループアクセスリストを求める
説明
bool posix_initgroups
( string
$name
, int $base_group_id
)指定した名前のユーザーについてのグループアクセスリストを求めます。
パラメータ
-
name -
リストを取得したいユーザー。
-
base_group_id -
パスワードファイルから取得したグループ番号。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
参考
- Unix の initgroups(3) のマニュアル
victor dot kupiyanov at gmail dot com
22-Mar-2012 08:19
