Problemas con el arranque del servicio MySQL de XAMPP.

En estos últimos días he tenido problemas con el arranque del servicio MySQL de XAMPP.

Pruebas que he realizado:

  1. El puerto 3306, no es, no hay ningún servicio ocupando dicho puerto.
  2. También he probado a borrar el archivo ibdata1.
  3. No hay ningún servicio mysqld ejecutándose para pararlo.

Me parece que le ocurre cada vez que se instalan actualizaciones de Windows.

El caso es que una vez hechas copias de respaldo de las Bases de Datos, se hace la desinstalación e instalación del paquete y durante un tiempo funciona, hasta que vuelve a repetirse el error.

Aparte de volver a hacer la instalación, el siguiente post de stackowerflow es el único que ha resuelto por ahora el problema

  1. Cambie el nombre de la carpeta mysql/data  a mysql/data_old(puede usar cualquier nombre)
  2. Crear una nueva carpeta mysql/data
  3. Copie el contenido que reside en mysql/backupa la nueva carpeta mysql/data
  4. Copiar todas las carpetas de base de datos que se encuentran en mysql/data_oldmysql/data (omitiendo el MySQL, performance_schema y carpetas desde phpmyadmin data_old)
  5. Finalmente copie el ibdata1archivo mysql/data_oldy reemplácelo dentro de la carpeta mysql/data
  6. Inicie MySQL desde el panel de control de XAMPP

mysqli_real_connect():(HY000/1045) access denied for user…..

Instalando las últimas versiones de XAMPP: xampp-windows-x64-7.3.7-0-VC15-installer.exe, la 7.2.20 en windows 10, tenía el siguiente problema:
Realizada la instalación, la primera vez entraba a phpMyadmin sin problemas. Si se paraba el servicio o reiniciaba el equipo, ya no se podía entrar con phpMyadmin. Daba el siguiente error:


Aprovechando esa situación, cuando se realiza la instalación, ya que la primera vez se puede entrar, se realiza la siguiente SQL en la base de datos mysql para cambiar la contraseña de root (Se pone la que se quiera, en este caso pruebas)(Realiza 4 modificaciones):

update user set password=PASSWORD(“pruebas”) where user=”root”;

Después hay que modificar en el archivo config.inc.php para indicar la contraseña de root y cambiar:

Con estos cambios, phpMyadmin ya no da problemas de autenticación.

Cambiar WordPress de un dominio a otro

Cuando decidimos cambiar un sitio WordPress que tenemos ya construido de un dominio a otro, nos encontramos con la problemática de las URL. Estas URL se guardan en la BD de wordpress y debemos cambiarlas ya que si no se mantienen las del dominio anterior. Existen varias formas de realizarlo. Podemos directamente acceder a la BD y buscar en las tablas la URL de origen y cambiarla por la del destino…

Pero también se pueden utilizar algunos plugins que realizan esta labor por nosotros, un enlace que explica en el que se explica como hacerlo:

Cambiar WordPress de un dominio a otro

Traducir frases de la plantilla twentyeleven de wordpress

Comprobamos que en el archivo wp-config.php tenemos puesto define(‘WPLANG’, ‘es_ES’); también tenemos el archivo es_ES.mo en la carpeta languajes de la plantilla, pero aún así se mantienen algunas frases en inglés.

Para traducir/cambiar  frases del tipo “Posted in” y “Leave in reply”  de la plantilla twentyeleven de wordpress he buscado en el archivo content.php de la carpeta de la plantilla dichas frases y las he sustituido por las que creo convenientes “Publicado en ”  y “Escribe un comentario”

La fecha de PHP en castellano

Si se quiere que la fecha no aparezca en inglés sino en castellano en nuestras páginas de PHP. Este pequeño código convierte una fecha a un formato de los muchos de PHP en este idioma:

setlocale(LC_TIME, ‘Spanish’);
$fecha = strftime(“%A, %d %B %Y”);
echo utf8_encode($fecha);

El problema de los acentos y las ñ en PHP

Para no tener problemas con los acentos y las ñ a la hora de trabajar con PHP (NetBeans). Todos los elementos que intervienen en el sitio deben tener la misma codificación; UTF-8:

  • En las propiedades del proyecto su encoding debe ser: UTF-8
  • En las páginas HTML, su etiqueta <meta> debe ser <meta charset=”UTF-8″>
  • Si aún así, siguen los problemas, debemos ir a la carpeta donde se encuentra físicamente el archivo y con un editor tipo Notepadd++, debemos abrirlo y guardarlo con la Codificación UTF-8. Al abrir el archivo los caracteres que han cambiado debemos ponerlos bien. los acentos, las ñ.
  • También si somos administradores podemos cambiar la directiva de php.ini: ;default_charset = “UTF-8” y descomentarla.
  • en el caso de que continúen los problemas en las páginas (que no creo) siempre nos quedarán las entidades de carácter.

Si el problema de los acentos y las ñ, lo tenemos en las BD a la hora de leer y escribir debemos utilizar las funciones de PHP utf8_encode y utf8_decode(aunque durante el curso 2017-2018 no se han necesitado, parecen innecesarias)

Algunas veces debemos utilizar archivos antiguos y construidos con otras codificaciones que provocan que en la página salgan caracteres extraños, en ese caso es más rápido y útil en vez de cambiar los caracteres problemáticos, colocar como primera instrucción del archivo php la siguiente cabecera:

<?php

header(“Content-Type: text/html;charset=codificación de la página”);

?>