Tenemos un entorno de testing de nuevas versiones. Cuando actualizo a la v3.19.1 de guarani (desde la v.3.18.1) y quiero imprimir un acta de examen, la pestaña que abre queda en blanco con el error: Call to a member function read() on bool
En los logs de apache (error.log) veo las siguentes lineas:
[Thu Oct 07 13:30:03.702003 2021] [php7:warn] [pid 30300] [client 192.168.88.232:39382] PHP Warning: dir(/usr/local/proyectos/guarani/vendor/siu-toba/jasper/JasperReports/JasperJavaBridge5.6/JavaBridge): failed to open dir: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php on line 193, referer: https://gestion.udc.edu.ar/guarani/aplicacion.php?ah=st615f2087640cc8.12354505&ai=guarani%7C%7C38000085&tz=1
[Thu Oct 07 13:30:03.702180 2021] [php7:notice] [pid 30300] [client 192.168.88.232:39382] Call to a member function read() on bool, referer: https://gestion.udc[Thu Oct 07 13:30:03.702180 2021] [php7:notice] [pid 30300] [client 192.168.88.232:39382] Call to a member function read() on bool, referer: https://gestion.udc
Estoy con un Debian 10, con Java:
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)
Composer y Yarn:
composer: Composer 1.8.4 2019-02-11 10:52:10
yarn: 1.22.4
El servicio de Jasper esta activo, y tenemos en el archivo /etc/rc.local lo siguiente:
Con los siguientes permisos (estoy con otro usuario - testudc - que es sudo):
-rwxr-xr-x 1 root root 426 sep 13 2019 /etc/rc.local
El proyecto esta en /usr/lib/proyectos, y los permisos de las carpetas las revise nuevamente y estan como deben estar según la documentación de instalación:
sudo chown -R www-data:www-data www temp instalacion vendor/siu-toba/framework/www vendor/siu-toba/framework/temp
sudo chmod 775 -R www temp instalacion vendor/siu-toba/framework/www vendor/siu-toba/framework/temp
Que podría ser? como puedo debuggear un poco más? gracias de antemano.
Parece que Apache no tiene permisos para leer la carpeta /usr/local/proyectos/guarani/vendor/siu-toba/jasper/JasperReports/JasperJavaBridge5.6/JavaBridge (fíjate que también le faltan barras a ese path).
El error se da en la función buscar_archivos_directorio_recursivo de vendor/siu-toba/framework/php/lib/toba_manejador_archivos.php donde hace $d = dir( $directorio );.
Habría que debuggear la variable $directorio para ver que devuelve.
Gracias por las respuestas!
La verdad que no sé porque está queriendo acceder al directorio "usr/local/proyectos/guarani/vendor/siu-toba/jasper/JasperReports/JasperJavaBridge5.6/JavaBridge", ya que no existe en el directorio de archivos.
La instalación de Jasper esta en "usr/local/proyectos/guarani/vendor/siu-toba/jasper/JasperReports/JavaBridge" tnto para el sub-directorio "java" que contiene el archivo Java.inc, como el sub-directorio "WEB-INF/lib" donde estan los archivos JavaBridge.jar y php-servlet.jar, todos en la version 5.5.2 (los que vienen en la instalacion original.
Ya realicé el "composer install" como dice la documentación.
Dos consultas: Como puedo "eliminar" esa carpeta "JavaBridge5.6" de php/3ros (está vacía, no contiene archivos) ??, y como desactivo las personalizaciones para probar la impresion de las actas de examen? gracias!