Decodificador de serialización PHP

Visor de árbol interactivo, editor, conversor JSON y reparador de longitudes • Desarrollo
Publicidad

Entrada de cadena serializada

Pega tu cadena generada con serialize() de PHP para analizarla, editarla o reparar longitudes corruptas.

0 caracteres 0 bytes
Codificación UTF-8 pura (cliente)
Introduce o pega una cadena de serialización PHP para comenzar.
Explorador de nodos y propiedades
Cargando árbol...
// Esperando datos...
// Esperando datos...
// Esperando datos...

Cómo funciona la serialización en PHP y cómo evitar su corrupción

La función serialize() de PHP genera una representación en cadena de texto plano de variables y objetos para su almacenamiento en MariaDB, sistemas de caché o intercambio entre servicios web.

Conteo estricto en bytes UTF-8

El formato exige que las cadenas indiquen el número exacto de bytes mediante s:N:"...". Los caracteres con tilde, diéresis o emojis ocupan de 2 a 4 bytes, por lo que contar caracteres visuales conduce al fallo inmediato de unserialize().

Riesgo en MariaDB y WordPress

Ejecutar sentencias REPLACE en SQL para migrar dominios (por ejemplo, cambiar de HTTP a HTTPS o a un dominio más corto) rompe la longitud declarada. La herramienta autorrepara estas discrepancias en un solo clic.

Seguridad y arquitectura Zero-Trust

El análisis sintáctico se realiza en JavaScript puro en tu propio navegador. No se envía ningún contenido a ningún servidor ni se invoca la función nativa de PHP, previniendo vulnerabilidades de inyección de objetos PHP (POP gadgets).

Especificador Tipo en PHP Ejemplo sintáctico Descripción operativa
i:N; Entero (int) i:1042; Número entero con o sin signo.
d:N; Decimal (float / double) d:3.14159; Número en coma flotante con soporte para NAN e INF.
b:N; Booleano (bool) b:1; / b:0; Valor booleano verdadero (1) o falso (0).
N; Nulo (null) N; Representa una variable con valor nulo.
s:N:"..."; Cadena (string) s:7:"España"; Cadena de texto donde N representa la longitud exacta en bytes UTF-8.
a:N:{...} Array asociativo o indexado a:2:{i:0;s:1:"a";i:1;s:1:"b";} Array con N pares clave-valor consecutivos.
O:N:"C":P:{...} Objeto estándar (object) O:8:"stdClass":1:{...} Instancia de una clase con su nombre y P propiedades.
r:N; / R:N; Puntero o referencia r:2; Referencia por objeto o variable en memoria.

Preguntas frecuentes sobre serialización PHP

¿Por qué unserialize() devuelve false o falla tras una migración en WordPress o MariaDB?

La función serialize() de PHP almacena las cadenas con su longitud exacta en bytes mediante el prefijo s:N:. Si realizas un REPLACE o una actualización directa en tablas como wp_options o wp_postmeta para cambiar un dominio, protocolo HTTP o ruta sin recalcular ese número N, PHP detecta que la cantidad de bytes reales no coincide con la declarada y descarta toda la estructura devolviendo false. Esta herramienta calcula los bytes UTF-8 exactos y repara automáticamente esos contadores.

¿Por qué los caracteres con tildes, eñes o emojis alteran la longitud de la cadena en PHP?

PHP mide la longitud de las cadenas en serialize() contando bytes y no caracteres. En codificación UTF-8, las letras estándar ASCII ocupan 1 byte, pero caracteres como la «ñ», vocales con tilde («á», «é») o símbolos ocupan 2 bytes, mientras que los emojis pueden ocupar 3 o 4 bytes. Por ejemplo, «España» tiene 6 caracteres visuales pero 7 bytes. Si una herramienta cuenta caracteres en lugar de bytes, la serialización quedará corrupta.

¿Es seguro analizar cadenas serializadas en esta herramienta online?

Es completamente seguro y privado. El análisis y la reconstrucción se ejecutan íntegramente en tu navegador web mediante un motor parser en JavaScript (Zero-Trust). Ningún dato se envía a nuestros servidores ni se ejecuta mediante la función nativa unserialize() de PHP, lo que garantiza confidencialidad total y elimina cualquier riesgo de ejecución remota de código (ataques PHP Object Injection).

¿Cómo puedo editar un valor de una opción serializada sin corromper la base de datos?

Puedes pegar tu cadena en esta herramienta, navegar por el árbol jerárquico interactivo hasta el valor que quieras cambiar y pulsar sobre el icono del lápiz. Al modificar el texto o número, la herramienta recalcula al instante todas las longitudes en bytes de forma recursiva y genera la nueva cadena serializada en la pestaña «Cadena re-serializada» lista para copiar y pegar en tu base de datos MariaDB o comando WP-CLI.

Publicidad