2010-12-07 19 views
6

tengo un script php que se debe ejecutar automáticamente todos los días. como el script php se ejecuta en una solicitud, ¿cómo puedo hacerlo? ¿Hay alguna otra forma de usar la tarea cronjob?ejecuta php script automáticamente

+0

¿Por qué odias a cronjob por este requisito? –

+0

no odio Cronjob;) –

+0

y luego úselo =/.. –

Respuesta

10

Dos opciones:

  1. Uso crontab demonio
  2. contratar a un trabajador y lo harán guión abierto en un navegador cada 24 horas

La elección es suya :)

Para use crontab, escriba crontab -e en la consola, se abre el archivo de texto. Añadir una línea al final:

0 0 * * * /usr/bin/php /var/www/mysite/httpdocs/daily_stats.php 

Dónde:

0 0 * * * - correr todos los días a las 00:00

/usr/bin/php -path a su PHP (puede ser determinada por which php comandos)

/var/www/mysite/httpdocs/daily_stats.php - ruta a su script PHP

si which php no genera nada, instale PHP cli b y funcionando:

sudo aptitude install php5-cli 

¡Buena suerte!

+3

lol @hiring a worker: P. – Alfred

1

Utilice el trabajo cron, esta es la mejor solución. de lo contrario, puede ejecutar un bucle infinito dentro de php y dormir 24 horas. horrible solución sin embargo.

5

opción de trabajo el uso de cron que se inicia automáticamente y dar resultado antes de las 24 horas

1

Si cron no está disponible en algún tipo de forma de poder utilizar de cron para este motor de aplicación de Google. Porque cron es el camino a seguir.

+0

es algo nuevo que escuché. gracias Alfred. –

+0

@hd no hay problema;) – Alfred

0

Si cron no está disponible, podría ejecutar un script php en CLI que se ejecutará todo el tiempo.

En el script puede hacer un ciclo while infinito.

En el ciclo while, compruebe un archivo en disco o un registro db (puede controlar este archivo o registro db desde un script externo, diciéndole al script de bucle qué hacer (CLI ejecuta otro script en una hora determinada) y cuándo salir)

Si utiliza una base de datos, no olvide inicializar y cerrar la conexión db cada vez que se ejecute el ciclo.

Dormiría el circuito cada 1 minuto aproximadamente ... podrías usar esto en lugar de linux cron para muchas cosas más.

Cuestiones relacionadas