Estimados amigos:
No si es que se puede hacer, pero existe la posibilidad de crear una funcion que siempre se este ejecutando en modo background, la cual este realizando una funcion especifica.
Espero haberme explicado bien.
De antemano gracias.
| ||||
creo que tienes problemas de redaccion, pero entiendo que al ejecutar un script php no es posible dejar funciones en 'background' porque una vez acabado de ejecutar el script lo que se habia cargado 'muere'. De todas maneras podrias explicar tu situacion para que te demos una mejor respuesta
__________________ =PoWeReD By MySeLf!= |
| ||||
tal vez desees guardar una variable en una sesion o una cookie. es eso?¿ si kieres dejar una variable mientras el navegador esta abierto (previo arranke del script por supuesto) y deseas q dure hasta q este sea cerrado, debes usar una sesion. sesion_start() si kieres q la variable este activa de manera indefinida ( "indefinida" entre comillas, porque debes establecer el tiempo q va a durar), usa una cookie setcookie() |
| ||||
Si piensas usar tu script en una página web, lamentablemente no es posible, ya que como dijo emiliox, una vez publicada la página el script muere. Si el caso es como un script en el servidor unix/linux y no tiene nada que ver con paginas web, podrías colocar un bucle ¿infinito? en tu script, luego ejecutarlo en modo background, deberia funcionar... EN TEORIA
__________________ _________________________ La computadora nació para resolver problemas que antes no existían |
| |||
Si lo que requieres es ejecutar cierto script/funcion a intervalos para efectuar alguna tarea tipo ... limpieza de registros en una BD o algo similar que se ha de ejecutar a intervalos de tiempo .. puedes usar un CRON Bat de sistema (Linux) o algun lanzador de tareas para Windows ... En cuanto a procesos en "background" .. en el manual de php aparece esto: Process Control Functions http://www.php.net/manual/en/ref.pcntl.php (solo disponible en Linux y si se usa PHP como CGI o PHP CLI .. Eso es lo q dicen ahí ..) Pero si el proceso es lanzado por un servidor HTTP .. acuta así como se ha mencionado .. Un script se ejecuta y muere cuando termina. Un saludo, |
| ||||
Estimados amigos: Primero que todo disculpen por no responder sus sugerencias, pero tuve algunos problemas. Bueno me quedo claro que los script PHP mueren al salir de la pagina y que debo buscar una funcion del Sistema Operativo que pueda realizar lo que necesito. En realidad lo que necesito es lo que dijo el Maestro Cluster, actualizar a intervalos de tiempo mi base de datos Mysql, de acuerdo a una condicion de fecha del mismo. Estimado Cluster donde puede obtener mas informacion de la funcion CRON Bat, puesto que tengo S.O. LINUX. De antemano gracias a todos por responder, todos me han ayudado mucho.
__________________ ________________________________________ Ugho. |
| |||
Sobre el CRON de linux .. puedes obtener información en: 1) .. usando el comando MAN 2) preguntando en el foro Linux 3) google xD Yo se de la existencia de "CRON" .. pero no suelo administrar sistemas linux .. asi q poco mas te puedo decir .. Lo que si que sé es que tienes que ejecutar tu script PHP como una aplicación CGI o PHP CLI .. y a ser posible usar el parametro -q a la hora de llamar a PHP (interprete) para q no lance cabeceras HTTP .. pues la aplicación ahora seria tipo "shell". Tambien se puede insertar una linea tipo aplicaciones Perl (al principio del scritp): #!/path/to/php Y llamar via el CRON a tuscript.php sin mas .. Lo ideal en estos casos es crear "log" de como fué el proceso a un archivo de texto plano .. Así los revisas y ves si está funcionando bien . o para cuando falle ver que sucede .. Osese .. todos los "echo" comunes de "conecto a la BD o no .. se pudo ejecutar la consulta . o no .. etc" .. hacerlos al fichero de texto plano (pudes incluso gestionar el buffer de salida via ob_xxx() ) Por cierto .. me equivoqué en el nombre completo de la aplicación .. es CRONTAB .. y no Cron Bat como dije xD (se nota q uso mas DOS/Win q Linux ) Un saludo, |