Foros del Web » Programando para Internet » PHP »

Pasar variables a system()

Estas en el tema de Pasar variables a system() en el foro de PHP en Foros del Web. Estoy lanzando un script en segundo plano con system() del siguiente modo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original system ( 'c:\xampp\php\php.exe ./etc/alerta.mail.php' ) ; Pero ...
  #1 (permalink)  
Antiguo 11/09/2011, 06:05
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Pasar variables a system()

Estoy lanzando un script en segundo plano con system() del siguiente modo:

Código PHP:
Ver original
  1. system('c:\xampp\php\php.exe ./etc/alerta.mail.php');

Pero necesito pasarle variables a ese script y he probado con el método $_GET, pero como es lógico no funciona.

Gracias.
  #2 (permalink)  
Antiguo 11/09/2011, 06:27
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Pasar variables a system()

Te dejo un par de referencias:

http://www.php.net/manual/es/features.commandline.php
http://www.php.net/manual/es/feature...line.php#83843

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 11/09/2011, 07:48
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Pasar variables a system()

Muchas gracias @masterpuppet, había leído las opciones de ejecución directamente desde la línea de comandos (-h), pero lo que neceistaba era el array $argv y que explico ahora por si cualquiera viene en busca de una solución. De paso me corriguen si tengo el concepto equivocado.

------------------------

Tanto las funciones system(), exec() y derivados se le puede pasar "variables" después de la dirección/nombre del script usando como separador el espacio, o sea:

Código PHP:
Ver original
  1. system('php script.php var1 var2 ...');

Despues, para poder recoger esos datos en el script, se usa el array $argv, donde con el ejemplo anterior devuelve el siguiente array:

Código:
Array (

	[0] => script.php
	[1] => var1
	[2] => var2
	[3] => ...

)
  #4 (permalink)  
Antiguo 11/09/2011, 08:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Pasar variables a system()

Cita:
Iniciado por hasdpk Ver Mensaje
Estoy lanzando un script en segundo plano con system() del siguiente modo:

Código PHP:
Ver original
  1. system('c:\xampp\php\php.exe ./etc/alerta.mail.php');
Que significa que este separado en dos partes el comando?


En el manual dicen esto:
Cita:
Nota:

Si ejecutamos un programa con esta función y queremos dejarlo ejecutándose en segundo plano, hay que asegurarse que la salida del mismo es redireccionada a un fichero u otro flujo de salida o PHP se quedará esperando hasta que la ejecución del programa termine.
Como hariamos que la salida se redireccione a otro fichero?


Un saludo y gracias
  #5 (permalink)  
Antiguo 11/09/2011, 09:32
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Pasar variables a system()

La información para pasarlo a segundo plano está aquí:

http://www.forosdelweb.com/f18/funcion-exec-697361/

Etiquetas: pasar, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:59.