Основываясь на предложениях Паскаля МАРТИНА, я попробовал и BCMath, и расширение GMP и предложил следующие решения:
С BCMath:
$a = 516103988;
$s = bcpow(2, 32);
$a = bcadd(bcmul($a, $s), 9379);
echo $a; // works, echoes 2216649749795185827
С GMP:
$a = gmp_init(516103988);
$s = gmp_pow(gmp_init(2), 32);
$a = gmp_add(gmp_mul($a, $s), gmp_init(9379));
echo gmp_strval($a); // also works
Из того, что я понимаю, гораздо больше шансов установить BCMath на сервере, чем GMP, поэтому я буду использовать первое решение.
Спасибо:)