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:
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