Uncaught Error: Class ‘ZipArchive’ not found in

martes, septiembre 14th, 2021

Mientras generaba un reporte en excel para uno de nuestros sistemas de licencias, me tope con el error siguiente:

 Uncaught Error: Class 'ZipArchive' not found in

El reporte que estoy creando consulta una tabla de la base de datos, realiza un query especifico y luego descarga el excel directamente desde el navegador, estoy usando la libreria de phpoffice: «phpspreadsheet» muy conocida en el mundo php. El código que ejecuto al final de la rutina es el siguiente:

$writer = IOFactory::createWriter($this->sp, 'Xlsx');
$writer->save('php://output');

Me puse a investigar un poco y al parecer el problema radicaba en que la ZipArchive ya no esta disponible en PHP 7.0 por lo que hay que instalar manualmente, puesto que la phpspreadsheet depende de esta ZipArchive debes asegurarte que la tengas habilitada.

Para resolver el problema solo tuve que instalar la mencionada librería ejecutando el siguiente comando en la consola de:

sudo apt-get install php7.0-zip

Algunos tutoriales que encontré me indicaban que modificará el archivo php.ini sin embargo yo solo tuve que reinicar el servidor apache

sudo /etc/init.d/apache2 restart

Con esto quedo solucionado, y pude generar el reporte en excel que estaba necesitando


pm-utils en Debian y eventos post Hibernación

sábado, febrero 20th, 2021

Desde hace tiempo tenia un problema en Debian que me volvía loco, cada vez que el equipo entraba en hibernación o en suspensión, al despertar la Laptop me hacía un ruido terrible siempre cuando el cursor del teclado llegaba al tope, o cuando escribía en consola un comando erróneo, o también cuando en el navegador de archivos llegaba al tope de listado de archivos, al parecer es un sonido de aviso o algo así.

Al parecer es un aviso del sistema, el problema es que en mi computadora por alguna razón este ruido es demasiado fuerte, y bastante molesto cuando te encuentras en el silencio absoluto de la media noche programando o simplemente procrastinando.

Bastaba con un simple comando para desactivarlo:

sudo rmmod pcspkr 

Con el comando anterior el problema se solucionaba fácil, lo que sucedes es que cada vez que volvía a hibernar la maquina o ponerla en suspensión, cerrar la tapa o apagar el equipo; ahí estaba de nuevo, el molesto ruido una y otra vez; para resolver: ejecutar el comando rmmod pcspkr y el ruido desaparece, pero al cerrar el equipo nuevamente se activaba.

Hice una extensa búsqueda en san Google como resolver este problema y no encontré nada, hasta que por casualidad di con la solucionar por efecto mismo de la serendipia.

Librería PM-UTILS Herramientas y scripts para la gestión de energía

La libreria PM Utils sirve para manejo y gestión de la energía del equipo, entre otras cosas te permite hibernar o suspender el equipo desde consola

pm-suspend
pm-hibernate 

Si necesitas mas información sobre este paquete te recomiendo visites los siguientes enlaces:

Todo lo anterior esta magnifico, ¿pero que tiene que ver con el comando rmmod pcspkr que desactiva el molesto ruido en Linux Debian y escritorio Cinnamon?

Eventos Sleep /Resume

Los eventos Sleep/Resume te permiten ejecutar un script cada vez el equipo se levanta de una suspensión o hibernación, para hacerlo debes copiar tu código en las carpetas de configuracion de la librerías PM-UTILS

Lo que debes hacer crear un script en el directorio /etc/pm/sleep.d/

#!/bin/sh
case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend actio$
    ;;
  post/*)
    echo "Waking up from $2..."
    sudo rmmod pcspkr   
    # Place your post suspend (resume) commands here, or `exit 0` if no post su$
    ;;
esac

y ahi meter el comando que quieres que se ejecute cada que el equipo se levanta de una suspensión o de una hibernación.

Asunto resuelto, nunca mas tuve que escuchar ese horrible ruido cuando despertaba mi equipo.

Referencias:


Problema con Debian y node js

sábado, julio 11th, 2020

Una de las ventajas de usar Debian como SO para la programación y el desarrollo de aplicaciones, es sin duda, su gran estabilidad, esto se logra sobre la base de repositorios probados y depurados por una larga comunidad de usuarios. Pero esta misma fortaleza puede llegar a convertirse en su mayor debilidad, cuando de usar lo últimos releases en paquetería de terceros se trate.

Esto es lo que me paso, cuando usaba Debian 9 Stretch y quise instalar node js para trabajar con angular, resulta que cuando lo instalaba siempre me lo dejaba en la versión 4.8.1 pero para trabajar con angular necesitaba la versión 10 y no había forma de instalarlos desde los repositorios de Debian.

La solución llegó con una herramienta llamada NVM (Node Version Manager ) , esta herramienta te permitirá seleccionar la versión de Node Js que desees con un simple comando, puedes cambiar de la versión 4 a la versión 10 en un momento , y luego volver a la versión 4 si así lo necesitas.

¿Cómo instalar NVM en Debian ?

curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh

Puedes verificar el contenido de instalador con

nano install_nvm.sh

Correr el script con bash para que se instale

bash install_nvm.sh

Podríamos reiniciar el equipo o simplemente cerrar sesión, pero mejor aplicas el siguiente comando para que emule el reinicio

source ~/.profile

Otro comandos de utilidad NVM

Ver las versiones disponibles con el comando NVM

nvm ls-remote

El comando anterior te mostrará todas las versiones disponibles desde la mas antiguas hasta la mas reciente, pero seleccionaremos una version estable

Seleccionamos la versión 10.16.3 con el comando siguiente

nvm install v10.16.3

Ahora la pongo en uso con el siguiente comando

nvm use  v10.16.3

Si desea saber cual es la versión de node que tienes en uso, debes correr el siguiente comando

nvm ls

Con esto ya podemos actualizar el NPM a la última versión

npm install -g npm@latest

confirmamos el NPM -V

npm -v 

Si necesita limpiar el cache

npm cache clean --force

si deseas borrar el cache del npm puedes usar este comando

npm cache clean --force

Espero que este pequeño tutorial te ayude a resolver los problemas de node js y debian, dejame un comentario si tienes algún problema



Redes sociales