Solucionar problemas
Diagnosticar errores criptográficos de Sodium en WordPress
WordPress y algunos plugins usan funciones criptográficas para verificar firmas y proteger datos. PHP puede proporcionarlas mediante la extensión Sodium nativa y WordPress incluye además una biblioteca de compatibilidad para los entornos que no disponen de ella.
Un registro puede mostrar un error como este:
PHP Fatal error: Uncaught TypeError: Argument 2 must be a string, integer given. in /home/usuario/public_html/wp-includes/sodium_compat/src/Core/Util.php:242
Este TypeError confirma que el segundo argumento recibido era un entero cuando la función exigía una cadena. Que la traza pase por wp-includes/sodium_compat/ no demuestra que falte Sodium ni que activar la extensión convierta correctamente ese dato.
1. Conserva la traza completa
Anota la hora y busca en la traza el primer fichero situado fuera de wp-includes/sodium_compat/. Normalmente permite identificar el plugin, tema o integración que preparó los argumentos. No modifiques los archivos de wp-includes: se reemplazan al actualizar y no corrigen al llamador.
2. Comprueba el entorno PHP de la web
Revisa en la información de PHP si la extensión sodium está cargada. Haz la comprobación desde el mismo PHP que ejecuta la web: PHP CLI puede usar otra versión o configuración.
- Si el plugin exige expresamente la extensión nativa y no está cargada, actívala desde Seleccionar versión de PHP o pide al proveedor que lo haga.
- Si Sodium ya está activa, o el error indica un tipo inválido, actualiza el componente identificado y revisa con su desarrollador por qué envía un entero.
- Si el fallo apareció tras cambiar PHP, confirma que la web conserva las mismas extensiones en la nueva versión.
3. Verifica la corrección
Repite exactamente la operación que fallaba y revisa el registro de la misma hora. Confirma que ya no aparece el TypeError y que la firma, webhook o integración implicada completa su proceso. La presencia de la extensión por sí sola no verifica que los datos enviados sean válidos.
No conviertas el argumento a texto dentro de sodium_compat para evitar el TypeError: claves, firmas y mensajes tienen formatos y longitudes concretos. Una conversión que elimina el error puede dejar una verificación incorrecta.
Al comunicar la traza al desarrollador, conserva nombres de funciones y tipos, pero omite claves, firmas privadas, tokens y contenido sensible. Usa datos de prueba para reproducir la operación criptográfica; una pantalla sin error no basta si la validación se ha omitido.
También te puede ayudar
- Cómo solucionar el error cURL 60 de certificado SSL en WordPress Cómo diagnosticar y resolver el error cURL 60 de WordPress sin desactivar la verificación de certifi...
- Depurar errores en WordPress Localiza pantallas en blanco y fallos internos de WordPress enviando WP_DEBUG a un registro privado,...
- Elementor 3.6.x, problemas históricos de compatibilidad Guía histórica para diagnosticar errores aparecidos al actualizar Elementor 3.6 sin atribuirlos todo...
- Elementor muestra un error 500 al guardar cambios Identifica la petición y el error PHP de Elementor antes de cambiar límites de memoria, plugins o re...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.