Bug in php5-cli chiamato da cronjob

Ho appena scoperto un bug molto fastidioso di php5-cli. In pratica: se si crea uno script php, eseguito da shell chiamato da cron, e nel file di configurazione php.ini è stato attivato il supporto per php_gtk, il relativo cronjob fallisce. La cosa strana è che se lo stesso script viene eseguito lanciandolo a mano da shell, funziona senza alcun problema. Assurdo, vero? Non so quale sia la causa, ma purtroppo quando voglio sviluppare con le gtk, bisogna sospendere i cronjob che interessano il php.

Bah… chissà che qualcuno lo risolva presto… o forse come spesso accade, sono l’unico che ha questi problemi?  :-)

2 thoughts on “Bug in php5-cli chiamato da cronjob

  1. zottimus_prime

    Il problema è dovuto al fatto che le gtk, in quanto librerie grafiche, si aspettano probabilmente un server X attivo, per cui se lanci il tuo programma da linea di comando da una sessione X il tutto ti funziona, mentre se parte da cronjob (che non usa certo una sessione X) allora spacca tutto.
    Un problema simile io lo trovo coi programmi java che usano librerie grafiche tipo AWT , ma in quel caso c’è uno switch sull’eseguibile java proprio per informare la jvm che non si sta usando una sessione grafica ma solo testuale. Magari anche php ha uno switch simile che potrebbe risolvere il tuo problema: prova a vedere se esiste un parametro simile o addirittura un pacchetto della tua distro con un nome tipo “gtk-headless-qualcosa” , prova a installarlo al posto dell’attuale gtk e vedi se così ti funziona tutto!
    Ciao,
    Fabio

  2. Grazie 1000! Purtroppo mi era sfuggito il tuo commento :-)

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">