Error al generar catalogo

Buenas tardes, estamos intentando generar catálogo en una versión de desarrollo en 3.15.1 y recibimos el siguiente error php

***** Generar CATALOGO: /usr/local/proyectos/3W/src/pers/unm/modelo/datos/db
/usr/local/proyectos/3W/src/pers/unm/modelo/datos/db/datos_censales.php
/usr/local/proyectos/3W/src/pers/unm/modelo/datos/db/parametro.php
/usr/local/proyectos/3W/src/pers/unm/modelo/datos/db/alumno.php
/usr/local/proyectos/3W/src/pers/unm/modelo/datos/db/carga_notas_cursada_comision.php
PHP Fatal error: Cannot use siu\modelo\entidades\parametro as parametro because the name is already in use in /usr/local/proyectos/3W/src/siu/modelo/datos/db/carga_notas_cursada_comision.php on line 8

en la clase /usr/local/proyectos/3W/src/pers/unm/modelo/datos/db/carga_notas_cursada_comision.php tenemos:

<?php namespace unm\modelo\datos\db; use siu\modelo\_comun\comunes; use siu\modelo\datos\catalogo; use SIU\Chulupi\kernel; use siu\modelo\entidades\parametro as siu_parametro; use siu\modelo\entidades\alumno_foto; class carga_notas_cursada_comision extends \siu\modelo\datos\db\carga_notas_cursada_comision { } ?>

Probamos varias cosas pero nada funciona, inclusive tampoco funciona si sacamos la linea use siu\modelo\entidades\parametro as siu_parametro;
Solo lo genera si quitamos “extends \siu\modelo\datos\db\carga_notas_cursada_comision” pero eso obviamente no nos sirve…

Se les ocurre qué puede estar sucediendo?
Muchas gracias!
Laura

Hola Laura,

Vas a tener que comentar el use en carga_notas_cursada_comision.php, luego corres el comando generar_catalogo. Si te aparece ese mismo error en otros lugares seguí comentado los uses.

Una vez que el comando se termine de ejecutar con éxito descomenta dichos uses.

saludos.

Discúlpenme por abrir un hilo viejo… ¿por qué se da este error? Claramente los use están correctamente en su sitio.
Completo un poco… un mi instalación local funciona perfecto, pero al regenerar el catálogo en producción siempre hay algún modelo que explota con este error :frowning:

Hola Diego, si, los uses están correctamente.

Por lo que leí, parece que el problema se da en ciertas versiones de PHP (anteriores a PHP 7). Por ejemplo, yo tengo PHP 7.1 y no me ocurre dicho error.

Leí un par de posts, y lo que dicen es que la solución seria habilitar Opcache en PHP:

https://stackoverflow.com/questions/17746481/cannot-use-x-as-y-because-the-name-is-already-in-use-even-though-its-not
https://bugs.php.net/bug.php?id=66773
https://gist.github.com/cvuorinen/e7a19101d40c9fa0a959

Prueben de habilitar Opcache para ver si con eso se soluciona, y comentennos como les va.

saludos.


SelecciAn_034.png

SelecciAn_034.png

Encontré este hilo nuevamente… aprovecho para comentar que luego de activar Opcache en producción (php v5.6) no volvió a repetirse el error.