[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Error corriendo script echo en php



El error del cron ya lo solucione!! aunque bastante trabajo me dio pues
tenia que ponerle * * * * * root /var/www/miscript.php y le estaba
poniendo un 1 en la posicion del primer asterisco, por lo que si me lo
ejecutaba pero solo una vez cada hora.

El codigo que quiero poner al final aun no lo he hecho, este fue el que
coji de prueba y no me funciono.

#!/usr/local/bin/php
<?php
  $mailuser = 'yordany';
  $mailpass = 'popopopo';
  //ini_set("include_path", "/usr/lib/php5/20041030/");     
  $imap = imap_open("{localhost:143}INBOX", $mailuser, $mailpass);
  $file = fopen("/var/www/prueba/logs.txt", "a");

  $s = "Numero de mensajes a las ".date("d j Y h:i:s a")." :
".imap_num_msg($imap);
  fprintf($file, "%s", $s);
  fclose($file);
  imap_close($imap);
?>

cuando le hago en la shell /var/www/prueba/cron-getmail me da este error

Fatal error: Call to undefined function imap_open()
in /var/www/prueba/cron-getmail on line 6

lo que no entiendo es que ese mismo codigo le quito la linea
#!/usr/local/bin/php 
y funciona perfectamente en el apache, osea si digo
http://localhost/prueba/cron-getmail.php funciona perfectamente.

Ya revise los dos ficheros .ini en /etc/php5/apache y /etc/php5/cli y
tienen activos entension=imap.so

Ya no se donde buscar!!!!

Si tiene alguna idea por remota que sea sera muy  buena ayuda.



--- Begin Message ---
Hola, 

Si el problema es de alguna variable, puedes hacer lo siguiente para
buscar las diferencias entre los dos entornos, el del cron y el del
usuario con el que ejecutas el script desde la shell, para ello en el
cron podrás poner algo así: 

/usr/local/bin/php -r 'phpinfo(INFO_ENVIRONMENT);' > /tmp/phpinfo 2>&1

(el path del intérprete de php tendrás que cambiarlo dependiendo de
donde lo tengas instalado.) 

después ejecuta la misma función ó el comando env desde la shell y
compara las variables, hay muchas que no son necesarias, ya que desde la
shell está mostrándote todas las que tienes exportadas, pero quizá haya
alguna que sí necesites y no aparece en el cron. 

Para comparar el entorno de php, puedes probar la misma función phpinfo
pero con el parámetro INFO_CONFIGURATION, haciéndolo desde el cron y
desde la shell podrás ver las diferencias, por lo que dices también
puede ser que te falte el directorio de includes cuando se ejecuta desde
el cron.

Has probado también a redireccionar la salida de errores para ver qué
dice? De todos modos sería mejor que enviaras el código para poder echar
un vistazo, no es que sepa mucho de php, pero a lo mejor entre toda la
gente de la lista podemos encontrar el error.

De todos modos una cosa, he estado ahora echando un vistazo al resto de
mensajes del hilo y hay algo que me desconcierta: en uno de ellos has
puesto la línea del cron que utilizabas, algo así:

------
1 * * * * * root /var/www/prueba/script.php(aquí lo estoy tratando de
correr en cada minuto)
------

me parece que esa línea no es correcta, no?, los campos que indican el
tiempo son 5 y este tiene 6, además, después debería ir un comando y
aparece "root" ¿?, es así como tienes la línea?, vamos que nunca había
visto una línea del cron con esa sintaxis.


Saludos.

-- 
Clave pública pgp:
http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xDF09C357


Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---

Reply to: