Hola,
Tengo una BBDD y necesito, según me confirman los técnicos de WPML después de ver el registro del debug.log, que la configure con estos parámetros en lugar de latin1:
character_set_server = 'utf8mb4';
collation_server = 'utf8mb4_unicode_ci';
He preguntado a soporte a través de un ticket y me han dicho que deje un mensaje en el foro.
¿Me podéis echar una mano?
Llevo unas semanas viendo problemas con la creación de tablas y nunca he llegado a entender por qué ocurria. Espero que esto pueda solucionarlo.
Gracias,
Hola Xavi.
.- Accede a tu cuneta de WePanel -> Administrador de archivos.
.- Accede a la carpeta del dominio y edita el archivo wp-config
.- Antes de la linea /* That's all, stop editing! Happy publishing. */ añade lo siguiente:
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_unicode_ci');
Sobre la codificación de la base de datos veo que ya esta en 'utf8mb4_unicode_ci'
.- Instala el siguiente plugin:
-> https://es.wordpress.org/plugins/wp-optimize/
.- Accede wp-optimize -> bases de datos pestaña tablas
En la columna tipo podrás v er la codificación de cada tabla.
Un saludo
Hola Pepe,
La BBDD en wp-config está así:
// Charset y Collation correctos
define( 'DB_CHARSET', 'utf8mb4_unicode_ci' );
define( 'DB_COLLATE', '' );
Pero por PHPMYADMIN no sale esto, sino latin1.
Por qué hay 2 configuraciones diferentes?
Gracias,
Hola Xavi.
Estoy revisando tus bases de datos y todas estan con cotejamiento utf8mb4_unicode_ci
Por qué hay 2 configuraciones diferentes?
Esto suele ocurrir porque la base de datos se creó antes de definir DB_COLLATE, WordPress ignora DB_COLLATE si la DB ya existe. Solo lo usa al crear la base de datos por primera vez.
Si la base de datos es la de motoescuela puedes acceder a phpMyAdmin y podrás comprobar que el cotejamineto de todas las tablas es utf8mb4_unicode_ci
Un Saludo
Gracias por la ayuda Pepe. Voy a seguir tirando el hilo a ver si podemos solucionarlo.
Te añado más contexto:
Entonces, creo que el problema que tenemos actualmente es con la creación de tablas ya que, si lo hago a través de scripts SQL, se crean algunas tablas y parece que pude trampear un poco. Aunque nunca conseguí que las cosas funcionasen correctamente.
Pensando un poco, meses atrás hicimos una limpieza del servidor y eliminamos muchos archivos de la sección "Medios".
Es posible que esté faltando algo de nuestro Wordpress o está mal configurado y por eso no se pueden crear las tablas?
Lo raro es que, si descargamos la web actual a un local, se puede activar WPML. Pero la misma web exactamente en webempresa, no deja cargar WPML (lo ha hecho el equipo técnico de WPML).
¿Se te ocurre qué más probar?
Gracias!
Hola Xavi.
Ok, que error es el que te muestra al activar WPML ? Puedes adjuntarnos una captura con el aviso del error para que podamos revisarlo ?
Porqué crees que es problema con la creación de tablas ?
.- Edita el archivo wp-config y revisa que tengas esta linea tal cual:
define( 'DB_HOST', 'localhost' );
Un saludo
Buenas de nuevo Pepe,
1) Adjunto imagen del error.
2) Porque instalaba los plugins y luego iba a la base de datos y faltaban la mitad. Luego instalaba el mismo archivo en local y cargaba muchas más tablas.
3) Confirmo que tengo la línea de código: define( 'DB_HOST', "localhost" ); en el wp-config.
Espero que las comillas no afecten. Tengo todos los define de la bbdd igual: primero ' (simples) y luego " (dobles).
Seguimos!
Hola Xavi,
Segun entiendo tus bases de datos estan en el formato utf8mb4_unicode_ci, no estan bien asi? ten en cuenta vaciar la cache de tu sitio l;uego de hacer este tipo de cambios, puedes usar el plugin wp optimize:
https://co.wordpress.org/plugins/wp-optimize
Esto para limpiar la cache de la base de datos. Ten en cuenta que es un plugin de pago y no podemos replicar el error, más allá de lo comentado en un inicio soporte del mismo no te ha confirmado nada?
Verifica y nos comentas.
Un saludo 🖐️
Buenos días,
Acabo de hacer una copia de seguridad y la he instalado en local. Sin hacer absolutamente ningún cambio, he activado el plugin WPML sin ningún problema.
Por lo tanto, entiendo que no es un tema de Wordpress sino de la configuración del servidor no? Es por ello que intento hablar con el departamento de hosting a través de un ticket para que revisen la configuración. Tanto el equipo técnico de WPML como yo mismo hemos hecho una copia en nuestros locales y funciona a la primera y sin hacer cambios.
Gracias,
Hola Xavi.
Por lo que muestras en la captura " Error fatal " me huele a que puede ser por version de PHP, veo que estas utilizando la version 8.4
.- Prueba a bajar la version de PHP, por ejemplo 7.4 y ves subiendo de version de PHP---8.0, 8.1.....
Un saludo
Hola Pepe,
La he bajado precisamente para probar. En mi local funciona con la 8.2.27 pero no funciona en el servidor con la 8.2. De hecho, he probado de la 7.4 a la 8.4 y todas muestran el mismo error fatal.
Por otro lado, he intentado usar el Clonador de Wordpress de Wepanel (a ver si clonando la web y restaurando una copia funciona igual que en mi local) pero no me deja. Me da el siguiente error adjunto.
Voy a seguir probando cosas.
Gracias
,
Pepe, ya he conseguido activar el plugin dejándolo en:
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
El problema de ahora es que se muestran caracteres raros:
Según parece, muestra en latin1, que es como me muestra que está configurada la BBDD en PHPMYADMIN.
¿Cómo lo puedo comprobar o qué más puedo hacer?
Gracias,
Hola Xavi.
Ok vamos hacer una instalación limpia.
.- Elimina por completo el plugin de WPML y creo que tienes otra para traducciones de WooCommerce
.- Accede a phpMyAdmin y selecciona la base de datos que utiliza la instalación
.- Selecciona la pestaña SQL
.- Ejecuta esta consulta:
DROP TABLE IF EXISTS wpdev_icl_background_task, wpdev_icl_content_status, wpdev_icl_core_status, wpdev_icl_flags, wpdev_icl_languages, wpdev_icl_languages_translations, wpdev_icl_links_post_to_post, wpdev_icl_links_post_to_term, wpdev_icl_locale_map, wpdev_icl_message_status, wpdev_icl_node, wpdev_icl_reminders, wpdev_icl_string_positions, wpdev_icl_string_status, wpdev_icl_string_translations, wpdev_icl_strings, wpdev_icl_translate, wpdev_icl_translate_job, wpdev_icl_translation_batches, wpdev_icl_translation_status, wpdev_icl_translations;
Esto eliminara todos los restos del plugin WPML
Una vez lo tengas:
.- Vuelve a descarga el plugin y prueba a instalarlo.
Un saludo