Error en actualizar 3.17.1 a 3.18.0

Hola qué tal!
Estoy teniendo un problema al querer migrar la base “./guarani migrar_base” , me dice que no encuentra la clase PHPMailer:

PHP Fatal error: Class ‘PHPMailer\PHPMailer\PHPMailer’ not found in /usr/local/proyectos/guarani/php/nucleo/_lib/mensajes/mail_job_nucleo.php on line 4 Class ‘PHPMailer\PHPMailer\PHPMailer’ not found

Hay alguna forma para poder instalarla o modificar algo? Gracias :slight_smile:

Saludos

#########################################
Repasando lo que hice vi que no se había ejecutado el comando ./toba instancia regenerar -i desarrollo

Me dice: … CORTADO POR EXCEDER EL LIMITE

Acá dejo la parte de ese error:

INSERT INTO apex_objeto_ei_formulario_ef (objeto_ei_formulario_fila, objeto_ei_formulario, objeto_ei_formulario_proyecto, identificador, elemento_formulario, columnas, obligatorio, oculto_relaja_obligatorio, orden, eti

… CORTADO POR EXCEDER EL LIMITE
in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/db/toba_db.php:401
Stack trace:
#0 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/db/toba_db.php(541): toba_db->ejecutar(‘---------------…’)
#1 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/modelo/toba_modelo_proyecto.php(1283): toba_db->ejecutar_archivo(‘/usr/local/proy…’)
#2 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/modelo/toba_modelo_proyecto.php(1241): toba_modelo_proyecto->cargar_componentes()
#3 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/modelo/toba_modelo_instancia.php(948): toba_modelo_proyecto->cargar()
#4 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/modelo/toba_modelo_instancia.php(752): toba_modelo_instancia->cargar_proyectos()
#5 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/modelo/toba_modelo_instancia.php(740): toba_modelo_instancia->cargar_autonomo()
#6 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/comandos/comando_instancia.php(236): toba_modelo_instancia->cargar(true)
#7 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/comando.php(102): comando_instancia->opcion__regenerar(NULL)
#8 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/comando.php(90): comando->ejecutar_opcion(‘opcion__regener…’, NULL)
#9 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/consola.php(78): comando->procesar()
#10 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/consola.php(55): consola->invocar_comando(‘instancia’, Array)
#11 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/run.php(32): consola->run(Array)
#12 /usr/local/proyectos/guarani/bin/launcher.php(12): require_once(‘/usr/local/proy…’)
#13 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/toba(2): require_once(‘/usr/local/proy…’)
#14 {main}

Hola Lucas:

La clase PHPMailer la deberian tener en :

<path proyecto Guaraní>/vendor/phpmailer/phpmailer/src/PHPMailer.php

El comando composer install del paso 4.5 de la documentación genera todo el contenido de la carpeta vendor, vuelvan a ejecutarlo.

Saludos!

Holaa!
Ya pude tirar bien el comando de composer y el otro de " CORTADO POR EXCEDER EL LIMITE" tampoco me lo tira :smiley:

Pero hay un nuevo error cuando quiero correr el comando ./guarani migrar_base :

PHP Fatal error: Uncaught Dotenv\Exception\InvalidFileException: Failed to parse dotenv file due to an invalid name. Failed at [echo Entorno cargado.]. in /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Parser.php:74
Stack trace:
#0 /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Parser.php(30): Dotenv\Parser::parseName(‘echo Entorno ca…’)
#1 /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Loader.php(169): Dotenv\Parser::parse(‘echo "Entorno c…’)
#2 /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Loader.php(107): Dotenv\Loader->processEntries(Array)
#3 /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Loader.php(91): Dotenv\Loader->loadDirect(‘export TOBA_DIR…’)
#4 /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Dotenv.php(123): Dotenv\Loader->load()
#5 /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Dotenv.php(80): Dotenv\Dotenv->loadData()
#6 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/launcher.php(22): Dotenv\Dotenv->load()
#7 /usr/local/proy in /usr/local/proyectos/guarani/vendor/vlucas/phpdotenv/src/Parser.php on line 74

Hola Lucas

Fijate en este foro se trató el tema

Saludos

Buenas tardes, tengo el mismo inconveniente, corri el composer e igual sigo con el mismo problema

Hola,

Cu’al de los dos problemas? El primero tenía que ver con la ejecución del comando ’ composer install’. El segundo con la edición del archivo ‘entorno_toba.env’.

Saludos, Florencia.

El error me genero el mismo que el primer comentario (PHPMailer). Despues entre a ver lo que puso Sergio Espíndola y en uno de los comentarios decia que elimino el composer.back y se solucionaba. Ahora pongo composer install y me sale [ErrorException]
“continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”?

Ahora cuando pongo composer install me sale esto:

Problem 1
- Root composer.json requires siu-toba/framework ~3.3, it is satisfiable by siu-toba/framework[v3.3.0, …, v3.3.16] from composer repo (https://repo.packagist.org) but siu-toba/framework[dev-trunk, 2.7.0, …, 2.7.x-dev] from composer repo (https://satis.siu.edu.ar) has higher repository priority. The packages with higher priority do not match your constraint and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.
Problem 2
- Root composer.json requires wikimedia/composer-merge-plugin 1.3.1 → satisfiable by wikimedia/composer-merge-plugin[v1.3.1].
- wikimedia/composer-merge-plugin v1.3.1 requires composer-plugin-api ^1.0 → found composer-plugin-api[2.0.0] but it does not match the constraint.

You are using Composer 2, which some of your plugins seem to be incompatible with. Make sure you update your plugins or report a plugin-issue to ask them to support Composer 2.

Hola,

El error se debe a la versión de composer. Deben instalar la 1.10.x. En este post tienen más información.

Saludos, Florencia.

Segui el hilo. Pero me sale este error ahora:

Do not run Composer as root/super user! See How do I install untrusted packages safely? Is it safe to run Composer as superuser or root? - Composer for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Package chrisboulton/php-resque is abandoned, you should avoid using it. Use resque/php-resque instead.
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
Generating autoload files
28 packages you are using are looking for funding.
Use the composer fund command to find out more!

composer run-script post-install-cmd -d ./vendor/siu-toba/framework/
Do not run Composer as root/super user! See How do I install untrusted packages safely? Is it safe to run Composer as superuser or root? - Composer for details
yarn add ckeditor4@4.13 jquery@3.5 jquery-migrate@3.2 siu-js-app-launcher@1.0.5 --modules-folder www/js/packages/
yarn add v1.22.5
info No lockfile found.
[1/4] Resolving packages…
info There appears to be trouble with your network connection. Retrying…
info There appears to be trouble with your network connection. Retrying…
info There appears to be trouble with your network connection. Retrying…
info There appears to be trouble with your network connection. Retrying…
error An unexpected error occurred: “https://registry.npmjs.org/ckeditor4: tunneling socket could not be established, cause=connect EHOSTUNREACH 10.98.40.5:8008”.
info If you think this is a bug, please open a bug report with the information provided in “/usr/local/proyectos/guarani/vendor/siu-toba/framework/yarn-error.log”.
info Visit yarn add | Yarn for documentation about this command.
Script yarn add ckeditor4@4.13 jquery@3.5 jquery-migrate@3.2 siu-js-app-launcher@1.0.5 --modules-folder www/js/packages/ handling the post-install-cmd event returned with error code 1
Script composer run-script post-install-cmd -d ./vendor/siu-toba/framework/ handling the post-install-cmd event returned with error code 1

Buenos días, podrías por favor indicarnos la versión de yarn y nodejs que tenes instalada?

node -v
yarn --version

Saludos

Node -v : v12.11.1

yarn --version: 1.22.5

Que versión de composer estas usando?

composer --version

Saludos

Composer version 1.10.20 2021-01-27 15:41:06

Hola,

Prueben alguna de estas soluciones:

  1. https://github.com/yarnpkg/yarn/issues/5599#issuecomment-405227043
  2. https://github.com/yarnpkg/yarn/issues/5599#issuecomment-562188373

Referencia:
https://github.com/yarnpkg/yarn/issues/5599

saludos.
2

Buenas, yo solucioné ese problema modificando lo siguiente:
En el archivo /usr/local/proyectos/guarani/php/nucleo/_lib/mensajes/mail_job_nucleo.php, se hace un extends de la clase PHPMailer… cambié:


Class .... extends PHPMailer

por


Class .... extends PHPMailer\PHPMailer\PHPMailer

Supongo que podrías agregar un “use” arriba también, y tendría el mismo efecto. En fin, el problema tiene que ver con espacios de nombres.
Saludos.

Hola Marcelo,

En la 3.18.0 (https://colab.siu.edu.ar/trac/guarani3/browser/nodos/unne/gestion/trunk/3.18.0/php/nucleo/_lib/mensajes/mail_job_nucleo.php) ya esta ese use:


<?php
use PHPMailer\PHPMailer\PHPMailer;
	
class mail_job_nucleo extends PHPMailer
{
**********
}

Es extraño que no lo tengas, ¿se actualizo bien el código de la 3.17.1 a 3.18.0? ¿tendrás cambios locales (correr “svn st”)? ¿estas en la 3.18.0 (correr “svn info”)?

saludos.
2

Hola Leonel, no lo había visto… tuve ese problema usando la 3.17 (en un entorno de pruebas para migración). Gracias por el dato.
Saludos!

Hola Marcelo,

Es que para la 3.17.1 se usa la librería phpmailer/phpmailer en la versión v5.2.27 (ver aquí). Y en dicha versión la clase PHPMailer no usa namespace (ver aquí).

Ahora bien la 3.18.0 se usa la librería phpmailer/phpmailer en la versión v6.1.5 (ver aquí). Y en dicha versión la clase PHPMailer usa namespace (ver aquí).

Para mi corriste un composer update en la 3.17.1 o borraste el archivo composer.lock, porque no te esta respetando la versión de phpmailer/phpmailer. ¿tenes el archivo composer.lock modificado (correr: svn diff composer.lock)?

saludos.
2