Foros del Web » Programando para Internet » PHP »

Cuentra atrás PHP / MYSQL

Estas en el tema de Cuentra atrás PHP / MYSQL en el foro de PHP en Foros del Web. Saludos, estoy haciendo un proyecto de ciber café, el cual ya tengo terminado y puedo compartir con ustedes muy completito. El único problema que tengo ...
  #1 (permalink)  
Antiguo 01/09/2010, 09:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Cuentra atrás PHP / MYSQL

Saludos,
estoy haciendo un proyecto de ciber café, el cual ya tengo terminado y puedo compartir con ustedes muy completito. El único problema que tengo es que al no poder usar javascript, he creado un script de contador de tiempo para que al X tiempo que le insertemos, por ssh apague el Pc cliente.
El problema es que el script tarda mucho, mucho, pero muchísimo.
Desactivé en el php.ini para que el tiempo de ejecucion de un script sea 30 segundos y lo he puesto a 0 o sea ilimitado, pero pasa media hora y aun no realiza la cuenta atrás

Code:
<?
#system('wall "dentro del php"');
error_reporting(6);
//echo time();

echo '<a href="http://localhost/p/admin.php">Pulse aqui para volver</a>]';
$a=date("s");

$c=$a+$argv[1];
for($b=1;$b>0;$b++)
{

$x=date("s");


if (($x<1)){}
echo "\n";
if ($c-5 == $x)
{
//avisamos por wall
# echo "enviamos wall"."\n";
if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
// log in at server1.example.com on port 22
if(!($con = ssh2_connect("10.0.0.101", 22))){
echo "fail: unable to establish connection\n";
echo '<a href="http://localhost/p/admin.php">Pulse aqui para volver</a>]';
} else {
// try to authenticate with username root, password secretpassword
if(!ssh2_auth_password($con, "root", "123456")) {
echo "fail: unable to authenticate\n";
echo '<a href="http://localhost/p/admin.php">Pulse aqui para volver</a>]';
} else {
// allright, we're in!
echo "okay: logged in...\n";

// execute a command
if (!($stream = ssh2_exec($con, "wall pepe" ))) {
echo "fail: unable to execute command\n";
} else {
// collect returning data from command
stream_set_blocking($stream, true);
$data = "";
while ($buf = fread($stream,4096)) {
$data .= $buf;
}
fclose($stream);
}
}
}

$paco=$argv[1]-2;
# echo "en ".$paco." segundos estamos en: ".date("s")."\n\n";
$b=-1;
}

sleep(0.1);
}
for($b=1;$b>0;$b++)
{
$x=date("s");
echo $c." ".$x."\n";
if ($c == $x)
{
echo "matamos por ssh"."\n";
echo "en ".$argv[1]." segundos terminamos en: ".date("s")."\n\n";
die();
}
sleep(1);
}
?>
Este codigo fuente es el que me ralentiza, el script que tengo lo unico que hace es invocar este codigo php. y a su vez ese escript es llamado por otro script que tiene esto:

$tiempo=$_POST['tiempo'];
echo " Se le ha concedido ".$tiempo." minutos a su cliente ";
$asd="cd /;./temporizador.sh ".$tiempo;
system($asd);

Si os fijais los date ahora estan con "s" en vez de con "i" de minutos porque ya tan solo en segundos me peta, sabeis alguna manera? me han comentado que actualizando una bbdd y refrescando con una meta de 10 segundos la pagina por ejemplo seria mas viable, si es asi, como deberia hacerlo? Besos y gracias de antemano
  #2 (permalink)  
Antiguo 01/09/2010, 10:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cuentra atrás PHP / MYSQL

hmmm, me imagino que la verdadera pregunta sería, ¿porque no puedes usar Javascript?

osea... usando Javascript es sencillo implementar Ajax, y así comprobar cada determinado tiempo en la base de datos lo que se necesite... y todo sin recargar la pagina, así mismo una ves pase el tiempo con Javascript puedes cerrar o redireccionar el documento web actual, etc...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/09/2010, 11:05
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Cuentra atrás PHP / MYSQL

Saludos, tienes toda la razón me aliviaría muchos quebraderos de cabeza, pero el profesor no quiere que usemos javascript, estoy esta tarde liada en ello y lo que veo mas factible es tras rcargar la pagina updates en las tablas e ir contrarestando el tiempo, a ti que te parece? lo ves viable? es una pena no poder implementar AJAX y listo ademas en esta web hay mucho codigo de temporizadores de estos en javascript y es una pena no poder usarlos :( un saludo gracias por contestar amigo
  #4 (permalink)  
Antiguo 01/09/2010, 11:28
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Respuesta: Cuentra atrás PHP / MYSQL

En el último for no se ve por donde b pueda llegar a ser en algún momento <= a cero, como para salir del bucle.

Etiquetas: mysql
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 11:42.