Функция для генерации случайного пароля определенной длины из набора символов. По умолчанию длина указана 8, можно передать любую другую. Также можно дополнить строку, из которой берутся символы, своими.

function random_password($length = 8)
{
    $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $alphaLength = strlen($alphabet) - 1;
    $pass = [];

    for ($i = 0; $i < $length; $i++) {
        $n = rand(0, $alphaLength);
        $pass[] = $alphabet[$n];
    }

    return implode($pass);
}

Также есть вариант, где длина сама по себе тоже будет случайной (в примере 8-12), а генерация сделана через функцию chr, которая возвращает однобайтовую строку (в примере в диапазоне 33-126, т.е. от символа «!» до «~» по таблице ASCII, включая символы, все цифры и буквы латинского алфавита).

function random_password()
{
    $pass= '';
    $length = rand(8, 12);

    for ($i = 0; $i < $length; $i++) {
        $pass .= chr(rand(33, 126));
    }

    return $pass;
}

При желании можете скомбинировать эти 2 функции.