Я пытаюсь прочитать всех членов группы с помощью одной из функций PHP POSIX posix_getgrnam (). Согласно инструкции PHP, он должен возвращать массив строк для ВСЕ участники в группе:
members Это состоит из массива строк для всех членов группы.
Мне нужно проверить, находится ли пользователь в определенной группе.
Однако я столкнулся с интересной проблемой — у меня только 65 членов — индексы от [0] до [64], и группа на самом деле насчитывает более 700 членов.
Вот мой код:
function checkUserInGroup($user_name)
{
$group_info = posix_getgrnam("test");
for ($i=0; $i < count($group_info["members"]); $i++) {
$user = $group_info["members"][$i]; // "members" is an array inside $group_info array
print_r($group_info["members"]); // THIS IS WHERE I GET ONLY 65 MEMBERS
if ($user == "$user_name") { // If username is found, then he/she is in the group
return true;
break;
}
}
}
Кто-нибудь знает, почему это так?
Задача ещё не решена.
Других решений пока нет …