Foros del Web » Programando para Internet » PHP »

pagina PHP como tarea programada

Estas en el tema de pagina PHP como tarea programada en el foro de PHP en Foros del Web. Saludos a todos, queria hacer una consulta... como podria hacer para que una pagina php se ejecute cada cierto tiempo automaticamente en un server 2000 ...
  #1 (permalink)  
Antiguo 21/11/2006, 07:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
pagina PHP como tarea programada

Saludos a todos, queria hacer una consulta... como podria hacer para que una pagina php se ejecute cada cierto tiempo automaticamente en un server 2000

Gracias
  #2 (permalink)  
Antiguo 21/11/2006, 08:34
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Esto te puede servir Exec .... y si usas Linux,tambien te serviria "Cron Jobs"... un comando para ejecutar unatarea...
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #3 (permalink)  
Antiguo 21/11/2006, 08:46
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
Alguna otra idea.... gracias...
  #4 (permalink)  
Antiguo 21/11/2006, 08:51
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Mmmm a que te refieres con que se ejecute cada cierto tiempo?
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #5 (permalink)  
Antiguo 21/11/2006, 08:55
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 18 años
Puntos: 6
De acuerdo mmmm

segun lo que yo entiendo, php no cumple la funcion generar una rutina como interna del servidor... puedes hacer k claro se ejecute una rutina cualkiera dentro de una pagina pero eso ya es javascript por ejemplo...
de todas maneras tendrias k habrir la pagina en php para k funcionara...

mmm... yo hise algo parecido para monitorear un servicio... pero por obligaciob tengo k habrir la aplicacion , despues funciona sola...


espero sea lo k te refieres
__________________
sEIK! -Chile-
Analista Programador.
  #6 (permalink)  
Antiguo 21/11/2006, 08:57
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 18 años
Puntos: 6
mmmm

si es asi...

haz k cada vez k carge haga tu necesidad.... y con un meta tag "refresh"

generas un ciclo repetitivo para la carga de tu rutina... asi se ejecutara cada vez k kieras...
__________________
sEIK! -Chile-
Analista Programador.
  #7 (permalink)  
Antiguo 21/11/2006, 09:04
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Yo he entendido lo mismo que B**:

En Linux puedes hacer servir Cron Jobs

En Windows puedes hacer servir Tareas programadas

Con esto consigues que X archivo se ejecute cada X tiempo (por el servidor)
  #8 (permalink)  
Antiguo 21/11/2006, 09:46
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
Las tareas programadas son ejecutables... pero como lo harias con "pagina.php"
lo que pasa es que cada cierto tiempo tengo que actualizar una base de datos "X" gracias a 2 BD "H" y "Z" el swap esta hecho en PHP... pero claro tengo que actualizarlo cada cierto tiempo... o sea tengo que hechar a correr el pagina.php cada cierto momento.

Saludos

Gracias
  #9 (permalink)  
Antiguo 21/11/2006, 10:44
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
setInterval de javascript !
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #10 (permalink)  
Antiguo 21/11/2006, 12:09
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
ok ya he leido lo que hace esa funcion en javascript... pero me podrias dar una idea de como implementarlo...

2 servidores - - -> Server 2000-> 1 BD Access -> BD "A"
Server 2003-> 2 BD Mysql -> BD "B" y "C"

BD "A" y "B" sincronizadas.

El swap esta hecho para sincronizar "C" a partir de cualquier cambio en "A" o "B".

Por cuestion de permisos y (mucha mierda no pude instalar el Swap en el Server 2003) asi que al reves.

entonces ahora se entederá un poco mas para que necesito ese archivo.php que se ejecute cada cierto tiempo para actualizar a "C"...

Muchas gracias
  #11 (permalink)  
Antiguo 21/11/2006, 13:37
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Puedes ejecutar pagina.php...... ¿no?

Con JavaScript solo realizará la función si alguien está visitando la página, y dependiendo del código, sólo para él.

Todavía no sé si quieres que actualice la página o haga algo del lado del CLIENTE u opere del lado de SERVIDOR.
  #12 (permalink)  
Antiguo 21/11/2006, 13:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
es una actualizacion a una BD por lo tanto es del lado del servidor... de forma transparente se verán los cambios por el lado del cliente ya que la informacion la sacará de la base de datos actualizada... la cosa es que se ejecute de forma automatica el .php es una actualizacion no puedo estar yo ejecutandolo cada dia... ¿me explico?

Saludos...

Gracias
  #13 (permalink)  
Antiguo 21/11/2006, 13:59
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Entonces JavaScript actúa del lado del cliente. Y a no ser que lo tengas tú procesando...

Estamos en lo de antes. Tienes que programar el servidor para que lo ejecute él mismo.
  #14 (permalink)  
Antiguo 21/11/2006, 14:05
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
y como programar al servidor para que lo ejecute el mismo???
  #15 (permalink)  
Antiguo 21/11/2006, 14:09
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Cita:
Iniciado por david_M_G Ver Mensaje
Yo he entendido lo mismo que B**:

En Linux puedes hacer servir Cron Jobs

En Windows puedes hacer servir Tareas programadas

Con esto consigues que X archivo se ejecute cada X tiempo (por el servidor)
  #16 (permalink)  
Antiguo 21/11/2006, 14:24
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
ufff volvemos a lo mismo... un .php si lo pongo como tarea programada lo va a abrir con cualquier editor ya sea dreamweaver editplus cualquier cosa... pero no lo ejecutara como localhost/bla/bla.php

ya lo probe asi...

Gracias =
  #17 (permalink)  
Antiguo 21/11/2006, 14:28
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
Que rudito, no te esta diciendo que Abras el fichero de php.

te estan diciendo que ejecutes el script a traves de PHP.EXE blabla bla
  #18 (permalink)  
Antiguo 21/11/2006, 14:43
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
no es cosa de rudito... lo que pasa es que no entiendo lo que me trata de decir... ahora tu me dices que "ejecute un script a traves de PHP.EXE ????" como es eso... menos entiendo... sorry... se refieren a que haga un programa en visual?
  #19 (permalink)  
Antiguo 21/11/2006, 14:45
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
No es necesario. De la misma forma que ejecutas los comandos en PHP en tu servidor (local) podrás ejecutar la página pagina.php, no?
  #20 (permalink)  
Antiguo 21/11/2006, 14:46
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
A ver te lo explico

El fichero .php, es simplemte un archivo de texto que no tiene nada de particular

El servidor web usa un modulo llamado PHP para leer este fichero y lo ejecuta segun comandos y una serie de cosas que contiene el php.

Ahora propiamente el que ejecuta el script es un PROGRAMA

php.exe, ubicado en c:/php/...


Ahora si tu deseeas hacer una tarea programada DEBES hacer exactamente eso, correr el PROGRAMA php.exe que ejecute el SCRIPT lala.php
  #21 (permalink)  
Antiguo 21/11/2006, 14:48
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo

Cita:
Iniciado por david_M_G Ver Mensaje
No es necesario. De la misma forma que ejecutas los comandos en PHP en tu servidor (local) podrás ejecutar la página pagina.php, no?

A si david tienes razón, pero lo que debes explicar es que NO debe correr el script como c:/fhsdjf/sdfsdfh/sdfjhsf/lala.php

sino correrlo a traves del protocolo http

http://sdjfg/jhgfsdh/dsfjsdgf/lala.php
  #22 (permalink)  
Antiguo 21/11/2006, 19:30
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Buenas, una manera de hacerlo es crear un archivo .bat y ejecutarlo como tarea programada.

El .bat, "sincronizar_db.bat", por ejemplo, podría ser algo así:

Código PHP:
"C:\Archivos de programa\Internet Explorer\iexplore.exe" "http://www.tudominio.com/script_sincro.php" 
Acá, obviamente, tendrías que verificar la ruta hasta el ejecutable del explorer y la ruta del script que vas a abrir.

Esa es la manera más "torpe" (o menos "elegante", como prefieras), pero también la más simple (sobre todo si nunca ejecutaste php desde la línea de comandos).

Otra sería ejecutar directamente el script php sin pasar por el servidor web (Apache o IIS).

El .bat en este caso sería algo así como:

Código PHP:
php "C:\path_hacia_script\script_sincro.php"
pause 
Pause es opcional, lo único que hace es no cerrar la ventana de la línea de comandos. De nuevo, tenés que adaptar la ruta del archivo según corresponda.

En este caso usé "php". Para poder usarlo tenés que tener el php.exe configurado en el path:

Panel de control --> Sistema --> Opciones Avanzadas --> variables de entorno

Ahí vas a ver, en "variables del sistema", una que se llama "Path": vas a modificar y agregás la ruta hasta el ejecutable de php, por ejemplo en mi caso (tengo instalado el wampserver):

;C:\wamp\php;

(En esa carpeta está php.exe)

Esto lo hacés una sola vez y para mí es más cómodo, pero si no, podrías poner en el .bat:

Código PHP:
"C:\wamp\php\php.exe" "C:\path_hacia_script\script_sincro.php"
pause 
Y el resultado sería el mismo.

Dándole doble clic al .bat lo podés probar. Si todo funciona bien, sólo te quedaría agregarlo como tarea programada desde el panel de control.


Suerte
Califa

Última edición por califa010; 21/11/2006 a las 19:49
  #23 (permalink)  
Antiguo 22/11/2006, 06:24
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 7 meses
Puntos: 0
Muchas gracias a todos
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 20:15.