Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Solucionado Problema Cron con Parámetros
#1
Buenas mi duda es simplemente que quiero hacer un cron pasandole parametros al script php, en local me funciona pero en este hosting no..
Hay alguna limitación que lo impida?

mi cron seria algo asi:
/usr/bin/php /home/usuario/public_html/miScript.php nombre=juan

y la cosa es que recibo el parámetro en el php con $argv y en local funciona perfectamente pero aqui no hay forma.
Tambien probe con distintas opciones como poner php-cgi, -q, o cosas asi por probar pero no hay forma..
Sé que está bien porque en local funciona perfectamente entonces no entiendo si el hosting tiene alguna particularidad o directamente no lo soporta..
En caso de no soportarlo.. existe la opcion de pasar los parametros por get y hacer un wget o algo asi?


Saludos y gracias.
#2
Hola.

El problema está la forma en la que llamas a PHP. La forma correcta sería:
Código:
/usr/bin/php-cli /home/usuario/public_html/miScript.php nombre=juan

Saludos.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#3
(07-11-2015, 01:02 PM)Minenage escribió: Hola.

El problema está la forma en la que llamas a PHP. La forma correcta sería:
Código:
/usr/bin/php-cli /home/usuario/public_html/miScript.php nombre=juan

Saludos.

He probado lo que me dices y no funciona.. Poniendo solo php me funciona la tarea programada pero no me recoge los parametros, pero si pongo php-cli ni siquiera me ejecuta la tarea programada. También he probado php-cgi que lo lei por ahi.. pero tampoco me recoge parametros. Triste

Salu2
#4
Aquí puedes ver que funciona adecuadamente:
Código:
[email protected] [/]# /usr/bin/php-cli /home/skytest2/public_html/arg.php a=1
array(2) {
  [0]=>
  string(34) "/home/skytest2/public_html/arg.php"
  [1]=>
  string(3) "a=1"
}

Si me proporcionas tu nombre de usuario de cPanel y la ruta del script puedo darle un vistazo para ver en detalle cómo maneja el parámetro.

Si no deseas hacer público en el foro algún dato, puedes enviármelo por mensaje privado.

Saludos.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#5
(08-11-2015, 09:06 PM)Minenage escribió: Aquí puedes ver que funciona adecuadamente:
Código:
[email protected] [/]# /usr/bin/php-cli /home/skytest2/public_html/arg.php a=1
array(2) {
 [0]=>
 string(34) "/home/skytest2/public_html/arg.php"
 [1]=>
 string(3) "a=1"
}

Si me proporcionas tu nombre de usuario de cPanel y la ruta del script puedo darle un vistazo para ver en detalle cómo maneja el parámetro.

Si no deseas hacer público en el foro algún dato, puedes enviármelo por mensaje privado.

Saludos.

Voy a cenar y luego te lo paso.. pero eso desde donde lo ejecutas?? por ssh o algo asi? es para probarlo yo desde ahi.. yo creo que el problema es con el cron, de hecho tambien he visto que el script de backup usa otra ruta de php no se muy bien el motivo.. seguramente no tenga que ver pero queria echarle un vistazo luego tambien..

Por cierto sabes si se puede cambiar la zona horaria del server? Se ejecutan las tareas con la zona horaria de otro lugar porque si pongo a las 21 se ejecuta a las 22, o sea una hora más tarde, y de hecho he comprobado la hora del servidor y lleva 1 hora menos que aquí.. que no es un problema especialmente grave pero como en españa siempre están cambiando la hora.. es un poco coñazo estar pendiente de eso..

Salu2 y Gracias!
#6
Mi comando está ejecutado desde ssh para mostrar fácilmente el resultado. Los usuarios no tienen habilitado el acceso a ssh. Igualmente lo he ejecutado desde cron y el resultado es el mismo.

PHP puede ejecutarse desde varias ubicaciones pero todas son enlaces simbólicos a una ubicación en común. Esto es así para mantener cierta compatibilidad.

La zona horaria del servidor no se puede cambiar del lado del usuario. Está establecida en la franja horaria UTC. España está en UTC +1, es por eso que observas u desfase de 1 hora. En verano el desfase es de +2. Pero si tienes interés en que tus scripts (no tu cuenta) se adapte a una franja horaria en específico puedes hacerlo a través de directivas de php.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#7
(08-11-2015, 10:34 PM)Minenage escribió: Mi comando está ejecutado desde ssh para mostrar fácilmente el resultado. Los usuarios no tienen habilitado el acceso a ssh. Igualmente lo he ejecutado desde cron y el resultado es el mismo.

PHP puede ejecutarse desde varias ubicaciones pero todas son enlaces simbólicos a una ubicación en común. Esto es así para mantener cierta compatibilidad.

La zona horaria del servidor no se puede cambiar del lado del usuario. Está establecida en la franja horaria UTC. España está en UTC +1, es por eso que observas u desfase de 1 hora. En verano el desfase es de +2. Pero si tienes interés en que tus scripts (no tu cuenta) se adapte a una franja horaria en específico puedes hacerlo a través de directivas de php.

Lo que quiero es cambiar la zona horaria a España para que cuando haya un +1 o +2 o lo que sea.. se haga automáticamente sin tener que cambiar la hora de la tarea del cron a mano. He probado cambiándolo con .htaccess y me cambia la hora en los script pero el cron sigue funcionando con una hora menos..

Y mi usuario de cpanel es abraham y he creado un mini script de prueba que simplemente enviaría un whatsapp para probar el php-cli a ver si funcionaba con parámetros o sin.. pero no funciona de ninguna de las dos formas. Sin embargo solo con php si funciona pero no recoge parámetros.. En mi pc en local si funciona. Me estoy volviendo loco ya.. xD
También he probado a poner al inicio del script: #!/usr/bin/php -q   
Pero tampoco me ha dado resultado..

La ruta del mini script es: /public_html/whatsApp/crons/pruebaCron.php
#8
Por cierto no hay que activar o instalar el comando de php-cli o algo, no?
He buscado por google pero apenas hay información y toda es para windows, para linux no vi apenas nada.. :/
#9
Sigo sin conseguir que funcione.. u.u Alguien tiene alguna idea sobre lo que puede ocurrir?

Salu2!
#10
Hola.

He colocado una versión reducida de tu script como "pruebaCron2.php" y se ha ejecutado con cron perfectamente usando /usr/bin/php-cli

Tienes confirmación de esto en la bandeja de entrada de los emails de tu cuenta. Podrás verificar que tanto el parámetro número como mensaje son recibidos por el script y la salida es enviada al email de tu usuario.

El problema podría encontrarse en otro punto de tu script, pero si en local te funciona, es probable que alguna función o requerimiento de PHP no esté activada en tu cuenta.

Saludos.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Solucionado: Problema con pagina de inicio jjdd912 3 345 14-06-2017, 04:45 PM
Último mensaje: Vicen
  Solucionado: Problema multicuenta midd_98 3 299 06-06-2017, 09:23 AM
Último mensaje: Vicen
  Solucionado: Problema con cuenta ftp pipectm40 1 195 29-05-2017, 06:22 PM
Último mensaje: Vicen
Triste Solucionado: Problema de redireccionamiento Victoryx 3 382 07-05-2017, 08:51 AM
Último mensaje: Vicen
  Archivo: Problema con Cpanel Lerans 3 337 31-10-2016, 09:00 PM
Último mensaje: Vicen
  Archivo: Problema al Ingresar a mi cpanel. DotJs 1 343 23-10-2016, 08:27 AM
Último mensaje: Vicen
  Archivo: Problema con DNS (creo) tiendad1 5 396 08-10-2016, 09:42 AM
Último mensaje: Vicen
  Archivo: problema con mi web johan22729 1 333 03-08-2016, 06:15 PM
Último mensaje: Taquion
  Archivo: Problema con curl a x puerto midd_98 4 461 29-07-2016, 11:06 PM
Último mensaje: midd_98
  Archivo: Problema con la redireccion de skylium Iceberg 1 386 08-07-2016, 11:32 PM
Último mensaje: niqo



Usuarios navegando en este tema: 1 invitado(s)