Foros del Web » Programando para Internet » PHP »

No puedo cambiar la longitud de session_id()

Estas en el tema de No puedo cambiar la longitud de session_id() en el foro de PHP en Foros del Web. Hola, Estoy teniendo problemas para poder cambiar la longitud del id de sesión, ya que haga lo que haga siempre se genera un identificador de ...
  #1 (permalink)  
Antiguo 06/10/2011, 08:40
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
No puedo cambiar la longitud de session_id()

Hola,

Estoy teniendo problemas para poder cambiar la longitud del id de sesión, ya que haga lo que haga siempre se genera un identificador de 32 caracteres, cuando mi intención es usar id's de 26.

Inicialmente tenía en el php.ini:
session.hash_bits_per_character = 4
session.hash_function = 0

lo cuál genera id's de 32 caracteres, pero al cambiarlo a:
session.hash_bits_per_character = 5
session.hash_function = 0

sigue generando id's de 32 en lugar de 26.

Tras cada modificación en php.ini, reinicio el servidor web (Apache en mi caso), y la información de los cambios se ve reflejada cuando hago un "phpinfo()", por lo que no entiendo qué me está faltando por hacer.

Por favor, ¿podríais ayudarme a solucionar el problema?

Gracias y hasta luego

PD: Estoy usando php sobre apache y Solaris 10
  #2 (permalink)  
Antiguo 06/10/2011, 09:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No puedo cambiar la longitud de session_id()

Eso es porque hash_function = 0 es usar md5, la cual te genera una cadena de 32 caracteres, si usas hash_function en 1, va a usar sha1, la cual si no mal recuerdo es de 40 caracteres.

Saludos.
  #3 (permalink)  
Antiguo 07/10/2011, 02:11
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No puedo cambiar la longitud de session_id()

Muy buenas GatorV,

Efectivamente los 40 caracteres se consiguen así, pero para los 26 que yo quiero he visto que tenía que ser hash_function = 0 y hash_bits_per_character = 5.

El problema que tenía es que modificaba el php.ini, pero era como si no me hiciera caso, a pesar de que reiniciaba el apache.

Navegando un poco más, he visto que también le pasaba a alguien más y la solución venía dada por matar todos los procesos que tenía el usuario que ejecutaba el php, ya que de esta manera se mata también el intérprete de php y a la siguiente vez que se ejecuta, ya coge los cambios del php.ini.
En mi caso, reinicié la máquina y efectivamente, funcionó, así que este hilo ya estaría resuelto.

Gracias de todas maneras por la respuesta!

Etiquetas: longitud
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:57.