sábado, 16 de marzo de 2019

Error de conexión a Mysql: Server sent charset (255) unknown to the client

Por algunas circunstancias formatee mi computadora con windows 10. Todo iba bien hasta que una vez instalado Mysql 8.0 CE; intente entrar a phpmyadmin y me regreso el siguiente error:

"mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers"

"mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers"


Buscando en internet nos comentan que se debe al cambio de configuración del chartset por default, entonces debemos ajustar configuración de nuestro mysql.

Solución

Editaremos el archivo de configuración my.cnf
El cual se debe encontrar en C:\ProgramData\MySQL\MySQL Server 8.0
Agregamos y/o modificamos las siguientes lineas:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci

character-set-server = utf8 


Una vez hecho esto, reinicien su servicio de Mysql

e ingresen a su aplicación o a su phpmyadmin

Enhorabuena, pueden utilizar su conexión de nuevo.


jueves, 25 de octubre de 2018

Acceder a mysql con root y también cambiar contraseña.

Si por alguna razón deseas acceder como el usuario de root a las bases de datos debemos cambiar algunos datos de la tabla mysql.

Aplicado en mysql 5

1. Entramos a mysql 

$ sudo mysql -u root mysql

2. Revisamos la tabla user

mysql> select * from user;

3. Cambiamos el valor del plugin de auth_socket a mysql_native_password del usuario root

mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';

4. Aplicamos los cambios

mysql> flush privileges;

5. Salimos de la conexión actual 

mysql>quit

6. Ahora ingresamos normalmente

$mysql -u root mysql
enter password:

7. Si todo sale correcto habrás ingresado 

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version:  ******************** (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>



Adicional: cambiar contraseña

8. Dentro de la conexión  lanzamos la siguiente consulta

mysql> UPDATE user SET authentication_string=PASSWORD("nuevaclave") WHERE User='root';

9. Aplicamos los cambios

mysql> flush privileges;

10. Salimos de la conexión actual 

mysql>quit

11. Reiniciamos el servicio

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start 

12. Probamos con el nuevo password

Todo debe salir perfecto.



miércoles, 24 de octubre de 2018

Habilitar Mysql con php7-Apache2 en Ubuntu

Instale ubuntu 16 en un equipo para realizar unas pruebas con Apache2 y php7.2

Cuando quise utilizar mysql mostraba que no estaba podía realizar la conexión.

Entonces hice lo siguiente:


Primero, edite el archivo

$ sudo nano /etc/php/7.2/apache2/php.ini

descomente la línea (elimine ;):

extension=php_mysqli.so

Guarde sus cambios (CTRL+C)

Después necesitamos instalar la librería php-mysql

$ sudo apt install php-mysql

Se instalarán los siguientes paquetes NUEVOS:
  php-mysql php7.2-mysql

Para versiones de php7 se deben habilitar las extensiones, entonces ejecutamos:

$ sudo phpenmod mysqli

Reiniciamos el servicio de apache

$ sudo ./etc/init.d/apache2 stop
$ sudo ./etc/init.d/apache2 start

Si tenemos instalado phpmyadmin entonces podemos revisar la conexión

¡¡Funciona!!


jueves, 18 de octubre de 2018

Habilitar OPcache en PHP 5.5 o superior

Opcache es una tecnología muy usada actualmente para mejorar el rendimiento de un sitio web

Habilitar la librería es muy sencillo.

Primero hay que editar nuestro archivo php.ini que estamos usando con Apache

Agregamos la siguiente linea en la parte donde cargamos las extensiones:

#en mi caso tengo ubicado el php en la unidad D

zend_extension=D:\php\ext\php_opcache.dll


Después configuramos los siguientes valores, se recomienda revisar las especificaciones que usted necesite, estas digamos son las comunes:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1



Ahora guardamos nuestro archivo php.ini

Si estamos en windows, copiamos el archivo php.ini a C:\windows\

Detenemos el servicio de Apache
y lo volvemos a iniciar.






Si todo esta correcto, nuestra extensión ha sido agregada.

Podemos usar un script y probar con php_info()



Saludos.

jueves, 11 de octubre de 2018

Mysql apache 2_4 php 5.6 Moodle 3.1 Error: database driver problem detected

Error: database driver problem detected

The site administrator should verify server configuration

PHP has not been properly configured with the MySQLi extension for it to communicate with MySQL. Please check your php.ini file or recompile PHP.


El anterior error ocurrió cuando cambie de php 7.0 a php 5.6

Anteriormente tenia el php 5, pero debido a requerimientos instale php 7.0 (necesitaba instalar drupal 8)

Sin embargo encontré un error en moodle 3.1 cuando quería agregar un nuevo curso 

$this no context 

La solución era migrar a moodle 3.2 pero como tengo personalizado algunas cosas y el servidor de producción del cliente esta con las características de 3.1, entonce la solución era volver a usar php 5.6. Al cargar la anterior configuración marcaba que no encontraba el driver de mysqli,
lo raro es que las demás extensiones si las cargaba menos la de mysqli.



Solución

Pues intentando varias cosas la solución fue poner de manera absoluta la ruta de la carpeta de extensiones.

Así que en el archivo php.ini modifique

 extension_dir = "d:\php\ext"

copie el archivo php.ini a c:\windows\

y reinicie el servicio de Apache 2


Ahora bien, por obvias razones, resolveré lo que tengo y regresaré a php 7.0 (actualmente ya solo trabajo con moodle 3.3 y drupal 8) pero esta solución permitirá que si lo necesitan puedan resolver su problema.

Saludos.

lunes, 9 de abril de 2018

Moodle Recaptcha v2 upgrade

Estimados moodlelovers


Google dio por obsoleta la versión 1 de recaptcha, por lo cual es necesario actualizar la versión de las claves de recaptcha a la versión 2



Por lo tanto, nuestro formulario de registro presenta el error de la imagen anterior.

Para solucionar este problema se requieren de ciertas condiciones:

1. Tener actualizado el moodle, es decir, la versión stable con las ultimas actualizaciones de seguridad y fixes.

  • 3.1.11+
  • 3.2.8+
  • 3.3.5+

2. Crear una nueva clave recaptcha v2 (y borrar la anterior)

Ingrese a https://www.google.com/recaptcha/admin#list
Elimine su clave anterior
Registre una nueva clave

3. Agregue su nueva clave a moodle

Ingrese con una cuenta de administrador a moodle
De clic en Administración del sitio-> Plugins -> Autentificación -> Gestionar autentificación

Borre sus claves anteriores y coloque las nuevas según corresponda



De clic en guardar cambios.


4. Pruebe su formulario de registro.


Caso 2. Sitio modificado manualmente o con moodle anterior a 3.1

En este caso que usted tiene un moodle que no ha sido actualizado o ha sido modificado, para lograr la implementación de la recapcha v2 debe seguir las instrucciones oficiales en el siguiente vínculo:

https://github.com/jswebster/moodle/compare/MOODLE_31_STABLE...MDL-48501-mdl31


donde debe copiar una nueva librería: lib/recaptchalib_v2.php
y modificar los archivos: 

login/signup_form.php
lib/form/recaptcha.php
mod/feedback/item/captcha/lib.php



Espero les sirva. Saludos















viernes, 27 de enero de 2017

Microsoft office ha detectado un error durante la instalacion

Microsoft Office encountered error setup 

 -- Microsoft office ha detectado un error durante la instalacion --



Hace días me trajeron una Asus Laptop a reparar por que no servia el wi-fi.
Se resolvió reinstalando el SO, en este caso Windows 10.
Sin embargo, cuando intente instalar  Microsoft office 2013 64 bits, comenzaba la instalación y casi al final me mandaba el error "  Microsoft office ha detectado un error durante la instalacion ". Intente instalar otras versiones: 2016, 2010, versión de 32 bits pero ninguna funcionó. 


Solución


Busqué por algunas páginas por varios días y la solución la encontré aquí: 
https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_winother/cannot-install-office-2013-error-microsoft-office/e73faec4-3d6c-4a95-b610-4510a6011a55

en las pestañas 7 y 13 ( 2017-01-25 )

El procedimiento es el siguiente:

1.- Primero, eliminar instalaciones anteriores de office

2. Borrar carpeta Microsoft Help
  • Una vez que el proceso del fix it termino, oprima Windows key + R entonces aparecerá la ventana de ejecutar, escriba: %Programdata%
  • Renombrar la carpeta 'Microsoft Help' como 'Microsoft Help. OLD' 

3. Ingresar a C:\usuarios\usuarioActual\AppData\Local\  y borrar la carpeta Microsoft Help

4. Eliminar la carpeta office en el programador de tareas
  • Dar clic en Boton de Inicio y busquar el Panel de control ( windows 10 use cortana)
  • Dar clic en Sistema y mantenimiento-> Herramientas Administrativas
  • Dar clic en Programador de tareas ( Task Scheduler )
  • Dar clic en Biblioteca del programador de tareas->Microsoft  (panel izquierdo)
  • Borrar la carpeta Office

Instalar office

5. Dar clic en el instalador de office
6. Seleccionar Personalizado (custom)
7. En Herramientas de office deshabilitar la opción: Office Telemetry
8. Continuar la instalación

9. Enhorabuena... es tiempo de activar su producto

Saludos