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

Re: [OT] Duda ejecucion scripts



El Sun, 15 Jul 2007 13:56:45 -0500
"Manolet Gmail" <manolet@gmail.com> escribió:

> El 15/07/07, "Miguel J. Jiménez" <MiguelJose.Jimenez@isotrol.com>
> escribió:
> > Manolet Gmail escribió:
> > > Hola amigos, les quiero decir que esto no tiene nada que ver con
> > > debian, pero es algo que me esta asaltando la cabeza y no logro,
> > > ni se como buscar al respecto...
> > >
> > > el punto es que quisiera saber porque a veces un script,
> > > especificamente en php no imprime nada hasta que no termina de
> > > ejecutarse y otras veces va imprimiendo con forme se va
> > > ejecutando.
> > >
> > > este es mi codigo:
> > >
> > > <? sleep(2);?>
> > > <script>parent.fillBar(10)</script>
> > > <? sleep(1);?>
> > > <script>parent.fillBar(15)</script>
> > > <? sleep(1);?>
> > > <script>parent.fillBar(35)</script>
> > > <? sleep(1);?>
> > > <script>parent.fillBar(67)</script>
> > > <? sleep(1);?>
> > > <script>parent.fillBar(78)</script>
> > > <? sleep(1);?>
> > > <script>parent.fillBar(90)</script>
> > >
> > > al final imprime todo al tiempo y no corre como quisiera, por
> > > favor, entiendo que esto no tiene que ver con debian pero no
> > > encuentro nada en google, y aunque si he buscado de varias formas
> > > no se en realidad cual sea la manera correcta...
> > >
> > > pido ayuda.. por favor..
> > >
> > >
> >
> > El "sleep" no lo tendria que hacer el PHP si no el javascript... La
> > verdad es que poner esa sentencia ahi no creo que haga nada...
> > Busca en google alguna función que haga un "pause" en javascript y
> > utilizala o haz uso de "SetTimeOut"...
> >
> Hola, gracias por contestar, te explico... en realidad lo que quiero
> no es un sleep, pongo el sleep para emular algun proceso de php que
> deberia tomar algo de tiempo... lo que quiero es que el script se vaya
> imprimiendo conforme pasa el tiempo.. pero si pongo esto..
> 
> <?php
> echo ("1-");
> sleep(2);
> echo ("2-");
> sleep(2);
> echo ("3-");
> sleep(2);
> echo ("4-");
> sleep(2);
> echo ("5");
> ?>
> 
> y lo veo en mi navegador, con el php con mi maquina pasan 8 segundos y
> me imprime todo de golpe. En cambio si lo subo a mi servidor y lo
> ejecuto desde consola
> 
> #php test.php
> 
> me va imprimiendo todo con dos segundos de intervalo...
> 
> quisiera saber porque pasa eso...
> 
A ver si te estoy entendiendo bien...
Si lo ejecutas desde la shell, sale lo que tú quieres, es decir, vas
viendo las salidas parciales.
Sin embargo, si lo haces a través de un servidor web, te sale todo de
golpe al finalizar el script.

Si tu duda es el porqué de esa diferencia, es fácil de responder (si
no, perdón, pero no te he entendido bien :-)
La respuesta es que el servidor web sólo sirve páginas, es decir,
cuando el navegador hace una petición a tu servidor, tu servidor
ejecuta ese proceso, espera a su finalización, y devuelve la salida del
script. Por eso espera los 8 segundos, y te devuelve todo junto.



Reply to: