Error PHP comando enviar_emails

Hola, estoy en versión 2.9.4 y queriendo enviar por mail los mensajes de 3w.
Cuando el cron ejecuta el comando guarani enviar_emails me da el siguiente error:


Notice: Undefined variable: pdo in .../src/siu/util/consola/comandos/enviar_emails.php on line 123

Fatal error: Call to a member function rollBack() on a non-object in ../src/siu/util/consola/comandos/enviar_emails.php on line 123

no encontré como solucionarlo …

Hola Alfredo,

En la linea 42 arma una conexión PDO a la DB:

$pdo = new \PDO("informix:host={$bloque_acceso['host']}; service={$bloque_acceso['service']}; database={$bloque_acceso['database']}; server={$bloque_acceso['server']}; protocol={$bloque_acceso['protocol']}; EnableScrollableCursors={$bloque_acceso['EnableScrollableCursors']}; client_locale={$bloque_acceso['client_locale']}", $bloque_acceso['LogonID'], $bloque_acceso['pwd']);

Si podes hacer var_dump($pdo); para ver que efectivamente sea un objeto de la clase PDO. También var_dump($bloque_acceso); para ver si están bien los parámetros de conexión a la DB.

En la linea 123 quiere hacer $pdo->rollBack();, y te tira lo siguiente:


Notice: Undefined variable: pdo in .../src/siu/util/consola/comandos/enviar_emails.php on line 123

Fatal error: Call to a member function rollBack() on a non-object in ../src/siu/util/consola/comandos/enviar_emails.php on line 123

Para mi no se esta armando bien el objeto PDO, ya que la función rollBack existe desde PHP 5.

¿Si corres el comando php -m te lista la extensión pdo_informix?

saludos.
2

Hola leonel.

La pdo_informix si está, y el var_dump me da " Undefined variable: pdo", será que no encuentra la librería pdo? los valores de conexión que se pasan están bien.

Si ejecuto el comando a mano si funciona, faltará alguna variable de entorno?

Hola Alfredo,

El comando lo correr así bin/guarani enviar_emails, no?

¿que versión de PHP tenes instalada?

PHP tiene dos archivos php.ini, uno para consola y otro para Apache. En el php.ini de Consola (CLI) tenes las extensión pdo_informix? Por lo general esta acá: /etc/php5/cli/php.ini

Referencias:
http://portalguarani.siu.edu.ar/Portal/wiki/G2/instinformix
http://manuales.guebs.com/php/ref.pdo-informix.html
https://manuales.guebs.com/php/ref.pdo-informix.html
https://durak.org/sean/pubs/software/php-7.0.0/ref.pdo-informix.html

saludos.
2

Hola.
Desde la consola estoy ejecutando asi bin/guarani enviar_emails, pero desde el cron pongo el path absoluto. Igualmente desde consola funciona poniendo el path absoluto también.
Tanto desde consola como desde el cron lo ejecuto como usuario root

Version de PHP: PHP 5.4.20 (cli)
Version PDO:
Extension [ extension #28 pdo_informix version 1.2.7 ] {
- Dependencies { Dependency [ pdo (Required) ] }
- Functions { Function [ internal:pdo_informix function confirm_pdo_informix_compiled ] { }
}
}

Hola Alfredo,

Hay otro foro similar: http://foro.comunidad.siu.edu.ar/index.php?topic=16994

Esto tendría que haber salido en una 2.9.6, pero al no liberar mas versiones de Guaraní 2 el cambio no salio.

Crea un GDS y poneme el ID del mismo aquí, así te aplicamos parche con el arreglo.

saludos.
2

Solicitud número 52407.

Muchas Gracias!

Se aplicó parche sobre version 2.9.4