En PHP, ¿cómo genero un gran número pseudoaleatorio?

Estoy buscando una manera de generar ungrande Número aleatorio con PHP, algo como:

mt_rand($lower, $upper);

Cuanto más cerca he visto esgmp_random() sin embargo, no me permite especificar los límites inferior y superior solo el número de bits por extremidad (que no tengo idea de lo que es).

EDITAR: La respuesta de Axsuuls parece ser bastante cercana a lo que quiero y muy similar a gmp_random, sin embargo, parece que solo hay una falla en un escenario.

Supongamos que no quiero obtener un número aleatorio entre:

1225468798745475454898787465154

y:

1225468798745475454898787465200

Así que si la función se llamaBigRandomNumber():

BigRandomNumber($length = 31);

Esto puede devolver fácilmente 999999999999999999999999999999999 que está fuera del límite especificado.

¿Cómo puedo usar un límite mínimo / máximo en lugar de un valor de longitud?

BigRandomNumber('1225468798745475454898787465154', '1225468798745475454898787465200');

Esto debería devolver un número aleatorio entre1225468798745475454898787465 [154 .. 200].

Para la referencia creo que la solución podría tener que hacer uso de lafunción suministrada en esta pregunta.

EDITAR: La publicación anterior fue eliminada, aquí está:

function compare($number1, $operator, $number2) {
  $x = bccomp($number1, $number2);

  switch($operator) {
    case '<':
      return -1===$x;
    case '>':
      return 1===$x;
    case '=':
    case '==':
    case '===':
      return 0===$x;
    case '!=':
    case '!==':
    case '<>':
      return 0!==$x;
  }
}

Respuestas a la pregunta(12)

Su respuesta a la pregunta