Я тут вчера из-за мелкой проблемы в чужом коде узнал, что в strlen() нельзя третьим параметром null передать что бы длину не ограничивать, а вы говорите — персистентные соединения с кастомным классом починить... )
Так для персистентных + пдо - это тоже документировано, такой красненькой рамочкой "не используйте пользовательские классы с персистентными соединениями"
Там очень херовое приведение, на самом деле - если пользовательский код у тебя запрашивает $length, сует его параметром в substr() то не ограничить результат ты не можешь никак. Ну вот просто — никак. И это очень поломанная консистентность: мы везде пишем и говорим null = unset = отсутствие переменнной, и вдруг находим место, где это не так.
hell0w0rd,
PHP_INT_MAX - это предел адресации, и больше 2 гб единого участка памяти на 32-битных системах ты не выделишь в силу технологических ограничений процессора.