Esiste un modo per eseguire automaticamente lo script PHP sul server Web di hosting senza cron?

StackOverflow https://stackoverflow.com/questions/1803631

Domanda

Ho avuto uno script che invia avvisi sms ogni giorno. Voglio che invii automaticamente inviare sms recuperando il messaggio dal database. Posso farlo senza cron. C'è un'altra soluzione. Per favore aiutate

È stato utile?

Soluzione

Puoi utilizzare un servizio webcron per attivare lo script.

Altri suggerimenti

Avere un AppEngine cron esterno: sheduler di lavoro google AppEngine , è gratuito . L'esterno "task" può quindi " callback " un tuo script PHP.

Non riesco a vedere cosa c'è che non va nell'usare il cron locale sul tuo computer sebbene a parte dal suo blocco perché tu possa accedervi.

In parole semplici, non puoi eseguire script php senza usare una sorta di scheduler o cron ...

Hai un paio di opzioni:

  • Emula comportamento cron: nel tuo codice php, controlla se la pagina è stata caricata nel o vicino al momento in cui desideri programmare l'invio, se i messaggi non sono stati ancora inviati, carica lo script che invia i messaggi in background e contrassegnali come inviati.

  • Come altri hanno suggerito, imposta un cronjob da qualche altra parte che eseguirà uno script sul tuo server recuperando l'URL tramite http (usando ad esempio wget)

imposta un'attività cron altrove, richiedi lo script che invia gli avvisi.

puoi includere il tuo script e farlo funzionare ogni volta che qualcuno visita la tua homepage / pagina di accesso ecc ... imposta una tabella in mysql chiamata time. interrogare il database ogni volta che si visita la pagina. if (argomento tempo) {esegue lo script in background, aggiorna la nuova ora nel DB}

Tutto quello che devi fare è stabilire con quale frequenza desideri inviare le tue e-mail sms. Ex. 1 volta al giorno riga del database "time" ha una data in esso. la data è diciamo 24 ore fa. se la riga db "tempo" è inferiore o uguale a oggi meno un giorno 1 giorno, quindi esegui il tuo script. questo eseguirà il tuo script una volta al giorno.

Il limite - > qualcuno deve visitare il tuo sito almeno una volta al giorno.

Qual è l'URL del tuo sito web? Che cosa stai facendo?

Utilizzo di webcron di terze parti come easycron.com .

Se non riesci a impostare un processo cron sul server, fallo su un client a cui hai accesso (come il tuo computer) in modo che faccia una richiesta quando devi eseguire lo script.

Non è ottimale, ma senza utilizzare alcun tipo di scheduler ciò che potresti fare è questo.

  1. Imposta un file di intestazione per ogni pagina.
  2. All'interno del file di intestazione inserire la funzione / procedura che si desidera eseguire.
  3. Crea un'istruzione if che controlla se il tempo è maggiore o uguale al tempo necessario per l'esecuzione della procedura e che non è già stata eseguita.

I lati negativi di questo è che:

  1. Non è garantito il tempo di assistenza.
  2. Se il tuo sito Web non ottiene hit, potrebbe non essere visualizzata completamente la finestra.
  3. L'aggiunta di almeno 3 chiamate di funzione alla tua pagina, per non parlare delle chiamate di funzione necessarie per verificare se questo processo è stato eseguito oggi, che potrebbero includere una chiamata a un server MySQL o un file flat ...

Ho usato l'Utilità di pianificazione di Windows per pianificare uno script su un server su cui non potevo accedere a cron prima, che funzionava bene.

Questa non è la risposta migliore in quanto richiede ancora cron da qualche parte , ma puoi sempre configurare un altro computer che ha cron, ad esempio il tuo computer di casa, per colpire una pagina del tuo sito che attiva l'azione (usando una libreria come curl o wget ).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top