Foros del Web » Programando para Internet » PHP »

ejecutar php en shell

Estas en el tema de ejecutar php en shell en el foro de PHP en Foros del Web. Hola Gente como puedo ejecutar un metodo de una clase desde shell? por ejemplo: <? $path_csv = "ruta al archivo"; $ProcesoLargoYExtenso = new ProcesoLargoYExtenso(); $ProcesoLargoYExtenso->procesarCSV($path_csv); ...
  #1 (permalink)  
Antiguo 23/12/2015, 09:44
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
ejecutar php en shell

Hola Gente
como puedo ejecutar un metodo de una clase desde shell?
por ejemplo:

<?
$path_csv = "ruta al archivo";
$ProcesoLargoYExtenso = new ProcesoLargoYExtenso();
$ProcesoLargoYExtenso->procesarCSV($path_csv);
?>

mi logica es la siguiente:
el usuario carga un csv desde un formulario y copio ese csv en el servidor, hasta ahi todo bien.
luego quiero ejecutarlo por shell por el simple motivo de que este proceso puede tardar 1 hora en ejecutarse y por navegador no es buena idea.

entonces en function procesarCSV() quiero hacer algo asi:

Código PHP:
Ver original
  1. <?
  2. $command = "php clases/ProcesoLargoYExtenso.class.php"; //aca quiero pasar por parametro un archivo, o tal vez lea el csv y luego lo elimino, y ejecutar el metodo de la clase
  3. exec($command);
  4. ?>
  #2 (permalink)  
Antiguo 23/12/2015, 09:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ejecutar php en shell

Los argumentos se separan con espacios, si tuvieras que hacerlo desde la consola podría ser así:
Cita:
$ php /ruta/del/script.php argumento1 argumento2 etc.
Donde "argumentoN" bien podría ser la ruta completa hacia el archivo CSV.

Y desde el script puedes usar $argv para leer dichos argumentos.

Consulta el manual.

http://php.net/manual/es/features.commandline.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/12/2015, 10:06
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: ejecutar php en shell

ok, pero como llamo a un metodo especifico de la clase?
para simplificarla este metodo será estatico

php ProcesoLargoYExtenso::procesarCSV();
  #4 (permalink)  
Antiguo 23/12/2015, 10:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ejecutar php en shell

Cita:
Iniciado por Patriarka Ver Mensaje
ok, pero como llamo a un metodo especifico de la clase?
Del mismo modo que lo harías en web, no existen diferencias, el código no se ejecutará sólo y debes programarlo para que así sea.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formulario, shell
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 14:22.