Actualización SIU Guarano 3.15.1 a 3.17.0

Estimados…
Como están???
Les comento que desde la Universidad Nacional de Villa Mercedes, estamos actualizando Guarani 3.15.1 a la 3.17.
Y nos aparece los siguiente errores…
/var/vhosts/guarani/3.8.0/php/nucleo/cursadas/inscripciones/co_inscripciones_cursadas.php on line 1298

Este error aparece cuando queremos ver el reporte de los inscriptos a una cursada.

Parse error: syntax error, unexpected ‘?’ in /var/vhosts/guarani/3.8.0/php/nucleo/cursadas/comisiones/co_comisiones.php on line 1292

Este error aparece cuando queremos ver el reporte de comisiones por periodo lectivo.

Esperamos respuestas…

Revisaron otros reportes si tienen algun problema similar?
No tuvieron ningun error al migrar de 3.15.1 a 3.17.0

Hola,

Esto se debe a la versión de PHP, existe el operador “??” que se introdujo en PHP 7 (ver: https://www.php.net/manual/es/language.operators.comparison.php).

¿ustedes que versión de PHP tienen?, si estan pasando a Guarani 3.17.0 deberian tener PHP 7.1.x (ver: http://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.17.0/instalacion_desde_cero/requisitos_previos/linux).

saludos.

Gracias por la respuesta.
Tenemos instalado el php 3.7.33
que podrá ser???

php -v
PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0
PHP Warning: Module ‘pdo_pgsql’ already loaded in Unknown on line 0
PHP 7.1.33-3+0~20191218.29+debian8~1.gbp18b07c (cli) (built: Dec 18 2019 16:20:27) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.33-3+0~20191218.29+debian8~1.gbp18b07c, Copyright (c) 1999-2018, by Zend Technologies

Paso los modulo que tenemos de php
php -m
PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0
PHP Warning: Module ‘pdo_pgsql’ already loaded in Unknown on line 0
[PHP Modules]
apc
apcu
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
json
libxml
mbstring
mcrypt
memcached
msgpack
openssl
pcntl
pcre
PDO
pdo_pgsql
pgsql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Hola,

Por lo que veo tenes instalado PHP 7.1.33, al menos el PHP CLI (linea de comandos). Con esto debería funcionar el operador “??”.

Quizás lo que ocurre es que el PHP web quedo apuntado al viejo, deberías hacer algo como sigue (https://tecadmin.net/switch-between-multiple-php-version-on-ubuntu/):


sudo a2dismod php5.6
sudo a2enmod php7.1
sudo service apache2 restart

Si con lo de arriba no funciona, deberías reemplazar la expresión ?? por (Condición)? (valor si es true) : (valor si es false);
Ver este hilo: https://www.codementor.io/@sayantinideb/ternary-operator-in-php-how-to-use-the-php-ternary-operator-x0ubd3po6#null-coalescing-operator

saludos.