Как генерируются случайные символы в php? Вопрос не в том, какая функция за это отвечает, а в том, как это работает. Еще в школе учили, что компьютер не может выдать из воздуха символ, всегда есть входные значения и их обработчик. Так какие значения берет за основу php и можно ли их предугадать?
Чаще всего генератор берет за начало текущую дату и время (одним числом) после чего делает с ней определенные алгоритмом действия и на выходе выдает конечное количество псевдослучайных байт. Конечное потому что все ГПСЧ подвержены вырождению (в конце будет все время выдавать одно число, но случится это не скоро).
Дополню, в современных компьютерах есть и генераторы действительно случайных чисел (например, /dev/random), но скорость накопления энтропии в них невысокая и их используют, в основном, там, где нужна повышенная безопасность.
С версии PHP 7 рекомендуется использовать random_int.
Метод генерации отличается в разных операционных системах, в случае с Linux будет использоваться метод getrandom, о котором подробнее можно почитать здесь
random_int - это не строка, а число. Строка генерируется функцией random_bytes. А значит и последующие выводы тоже не некорректны и не отвечают на поставленный вопрос.